Вопрос:

Как мне переписать URL с помощью htaccess, чтобы убрать вопросительный знак в PHP?

.htaccess

25 просмотра

1 ответ

16 Репутация автора

Так скажем, у меня есть URL

https://website.com/file.php?test

Я хотел бы, чтобы это было переписано

https://website.com/file/test

Я пытался использовать много решений в Интернете, но ни одно из них не работает на моем сайте по любой причине.

Мой текущий файл доступа HT:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]

Этот код успешно удаляет расширение .php, поэтому я могу получить URL-адреса, такие как website.com/file?test, а не file.php? Test.

Автор: Savish Khan Источник Размещён: 09.08.2019 09:50

Ответы (1)


0 плюса

550831 Репутация автора

Вы можете использовать эти правила в корне вашего сайта .htaccess:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php\?([^&\s]+)\s [NC]
RewriteRule ^ %1/%2 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php\s [NC]
RewriteRule ^ %1 [R=301,L]

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/([^/]+)/?$ $1.php?$2 [L,QSA]

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^([^/]+)/?$ $1.php [L]
Автор: anubhava Размещён: 11.08.2019 07:25
Вопросы из категории :
32x32