Я скрываю свои расширения файлов с помощью

RewriteEngine On

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L]

# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]

# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]

Когда я перехожу по этой ссылке http://localhost/website/profile?user=user01&nofollow=1

Я перенаправлен сюда http://example.com/folder/profile?user=user01

Я убрал .php из url. Почему он перенаправляет меня?

brewpixels

Ответов: 1

Ответы (1)

Введите его таким образом внутри /website/.htaccess:

RewriteEngine On
RewriteBase /website/

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ $1 [R=301,L]

# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php[?\s] [NC]
RewriteRule ^(.+)\.php$ $1 [R=301,L,NC]

# Resolve .php file for extension-less php urls
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/.]+)$ $1.php [L]

Убедитесь, что очистили кэш браузера перед тестированием этого.

2022 WebDevInsider