В настоящее время у меня есть следующий .htaccess..htaccess перенаправляет, если присутствует строка запроса ANY?
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/abc/php.ini
</IfModule>
RewriteEngine on
RewriteCond $1 !^(index\.php|media|css|js|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
AuthType Basic
AuthName "Está dominado!!"
AuthUserFile "/home/abc/.htpasswds/public_html/passwd"
require valid-user
Теперь, я хотел бы, если какая-либо строка запроса найдена после/удаляет эту строку запроса.
Итак: Если мы имеем:
http://www.abc.com/ somethinghere234
Он должен перенаправлять:
HTTP : //www.abc.com/
Если мы имеем:
htpp: //www.abc.com/something/ id212
Перенаправление на:
htpp: // www.abc.com/something/
UPDATE: Я попытался это:
TRY A)
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule .* /index.php/ [L,QSA]
перестроении, что^(*) $ позволит что-либо на строку запроса ...
я. ве также попытался это:
TRY B)
RewriteEngine on RewriteCond $ 1 !^(Index.php | media | css | js | images | robots.txt) RewriteCond% {QUERY_STRING}^(. ) $ RewriteRule^(.) $ http://abc.com/ [L]
Это возвращает внутреннюю ошибку сервера на 500.
TRY C)
RewriteEngine on
RewriteCond $1 !^(index\.php|media|css|js|images|robots\.txt)
#RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ http://abc.com/ [R=302,L]
Признаюсь, я бы потерял на этом .htaccess синтаксисом.
TRY D)
RewriteEngine on
RewriteCond $1 !^(index\.php|media|css|js|images|robots\.txt)
RewriteCond %{REQUEST_URI} !^/
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ http://abc.com/ [R=302,L]
Пожалуйста, советы, MEM
@icanhasserver - Это возвращает ошибку 404, когда я помещал строку запроса. :(Не повезло тогда. – MEM
Вы должны сопоставить RewriteRule с фактическим местоположением вашего PHP-скрипта. Трейлинг/может и не обязательно. Трудно сказать, не зная настройки. Если он находится на том же уровне, что и файл .htaccess : index.php? – icanhasserver
Спасибо. Я над CodeIgniter, если это имеет значение, но да, файл index.php находится на том же уровне, что и файл .htaccess. На первом .htaccess (опубликовано выше) у меня есть это правило: RewriteRule^(. *) $ /index.php/$1 [L], и он работает в этом случае. – MEM