htaccess - удаляет index.php, но не index.php, когда index.php? z = abc - PullRequest
0 голосов
/ 06 января 2012

http: // domain.com/index.php -> http: // domain.com/ - ОК

http: // domain.com/index.php?z=abc -> http: // domain.com/index.php?z=abc - не в порядке, остается прежним.Это работает, используя код ниже:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

Как изменить этот код так, чтобы

http:// domain.com/index.php?z=abc -> http:// domain.com/?z=abc

Ответы [ 2 ]

1 голос
/ 06 января 2012

Попробуйте модифицированную RewriteCond ниже

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
1 голос
/ 06 января 2012

Apache позаботится о строке запроса автоматически.Все, что вам нужно, это:

RewriteEngine on
RewriteRule ^index.php / [L,R=301]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...