Измените .htaccess, чтобы удалить содержимое после 2-го слеша - PullRequest
0 голосов
/ 26 июня 2018

У меня работает один веб-сайт, который нам нужно изменить .htaccess. Google сообщил об ошибке, что к URL добавляется еще один файл PHP.

Например http://www.example.com/test-file.php/test1-file.php

Нам необходимо удалить test1-file.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 Ответ

0 голосов
/ 26 июня 2018

Вы можете использовать эти правила:

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...