LINUX.ORG.RU

[htaccess] не работает редирект... куда копать?


0

1
AddDefaultCharset utf8

php_value magic_quotes_gpc Off

# включаем mod_rewrite

RewriteEngine On

Options +FollowSymLinks

# если запрашиваемый пользователем URL - это не существующий на сервере файл...

RewriteCond %{REQUEST_FILENAME} !-f

# ...и не существующая на сервере директория

RewriteCond %{REQUEST_FILENAME} !-d

# перенаправляем запрос пользователя на index.php

RewriteRule ^(.*)$ index.php [L]

Redirect 301 /index.php?page=article&pid=29 http://www.linux.org.ru/wiki/en/Lorcode
Redirect 301 /index.php?page=article http://www.linux.org.ru

почему не перекидывает на лор?

★★★★★

А чего-нибудь более простое работает, не? По своему опыту скажу, что прежде всего стоит проверить AllowOverride All в httpd.conf.

karbofos ()

Потому что рерайт срабатывает раньше. Перенеси редиректы выше.

iSage ★★★★ ()
Ответ на: комментарий от aol

*facepalm*

Логично, попытка поменять опции, когда это запрещено .

iSage ★★★★ ()

1. Поставить редиректы перед RewriteCond %{REQUEST_FILENAME} !-f

2. Не выпендриваться с Redirect, а использовать конструкцию а ля

RewriteRule index.php?page=article&pid=29 http://www.linux.org.ru/wiki/en/Lorcode [L,R=301]

p.s. Вопрос на засыпку: а что будет для url

/index.php?pid=29&page=article

Отвечает Александр Друзь: не люби мозги, редирект из index.php делай, анализируя массив $_GET.

r_asian ★☆☆ ()
Ответ на: комментарий от r_asian

>Отвечает Александр Друзь: не люби мозги, редирект из index.php делай, анализируя массив $_GET.

А как к этому Гугль отнесётся? Не забанит ли часом?

sniper21 ★★★★★ ()
Ответ на: комментарий от sniper21

> А как к этому Гугль отнесётся? Не забанит ли часом?

Ему абсолютно фиолетово чем вы генерируете http-загоровки, а вот выдача одинакового контента по адресам

/index.php?pid=29&page=article

и

/index.php?page=article&pid=29

ему может до известной степени не понравиться.

r_asian ★☆☆ ()
Ответ на: комментарий от r_asian
AddDefaultCharset utf8
php_value magic_quotes_gpc Off
RewriteEngine On
Options +FollowSymLinks
RewriteRule index.php?page=article&pid=5 http://www.linux.org.ru/wiki/en/Lorcode [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]

Действие происходит на локалхосте: http://localhost/mysite/index.php

sniper21 ★★★★★ ()
Ответ на: комментарий от sniper21

Я бы сделал так, раз уж редирект из index.php - вопрос религиозный:

AddDefaultCharset utf8
php_value magic_quotes_gpc Off
RewriteEngine On
Options +FollowSymLinks

RewriteCond %{REQUEST_FILENAME} index.php
RewriteCond %{QUERY_STRING} page=article
RewriteCond %{QUERY_STRING} pid=5
RewriteRule ^.*?$ http://www.linux.org.ru/wiki/en/Lorcode [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]

Действие происходит на локалхосте: http://localhost/mysite/index.php

Убунта?

r_asian ★☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.