У меня в настоящее время есть 2 правила:
Первое заменит "domain.com/profile/user" на "domain.com/profile.php?user=user"
Второе правилоудаляет .php из всех файлов, чтобы к ним можно было обращаться без необходимости .php.
Вот файл .htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^profile/([^/]+)$ profile.php?user=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
В его текущем состояниипервое правило работает, а второе не работает.
Тем не менее, если я добавлю «Опции + MultiViews» в верхней части, чтобы это было:
Options +MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^profile/([^/]+)$ profile.php?user=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
Тогда первое правило не работаетв то время как второй работает?
Я просто не могу понять, как заставить их обоих работать.
Обратите внимание, я использую vhost XAMPP для веб-сервера и изменил соответствующие настройкиразрешить htaccess работать с XAMPP.