PHP довольно url сочетание двух правил переписывания модов?
У меня есть это .htaccess код в корневой папке, чтобы заменить этот url: localhost/mysite/profile.php?username="someone"
, чтобы стать localhost/mysite/someone
.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /mysite/profile.php?username=$1
Это работает нормально, но то, что я хочу, это включить подстраницы, такие как, например, О странице, чтобы быть localhost/mysite/about
вместо localhost/mysite/about.php
. И подстраницы тоже находятся в корневой папке.
Как я могу добиться этих двух переписок?
3 ответа:
Вы можете иметь этот код в
mysite/.htaccess
:RewriteEngine On RewriteBase /mysite/ # add .php internally to files RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+?)/?$ $1.php [L] # handles profile URLs RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([\w-]+)/?$ profile.php?username=$1 [L,QSA]