Модифицировать.htaccess для удаления содержимого после 2-го Слэша
У меня есть один сайт, который мы должны изменить .htaccess. Там была ошибка, сообщенная Google, что URL-адрес добавляется еще одним файлом PHP.
Например http://www.example.com/test-file.php/test1-file.php
Нам нужно либо удалить test1-файл.php или редирект на 404.php страница с использованием .htaccess
Мой .htaccess выглядит следующим образом
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule (.*) http://www.example.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/
RewriteRule ^(.*)/$ http://www.example.com/$1 [R=301,L
<IfModule mod_rewrite.c>
RewriteEngine on
ErrorDocument 404 http://example.com/404.php
</IfModule>
1 ответ:
Вы можете использовать следующие правила:
ErrorDocument 404 /404.php RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^ http://www.%{HTTP_HOST}${REQUEST_URI} [L,R=301,NE] RewriteCond %{THE_REQUEST} /index\.php [NC] RewriteRule ^(.*)index\.php$ /$1 [R=301,L,NE] # Unless directory, remove trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ /$1 [NE,R=302,L] # remove content after 2nd slash RewriteRule ^(.+\.php)/.*$ /$1 [L,NC,R=301]