公共网址与幕后网址不同

时间:2013-08-09 03:19:30

标签: php .htaccess oop url-rewriting get

如何允许用户导航到此网址 example.com/aaron-cole-about ,并在幕后将其更改为此网址 example.com/about ?id = 52 ,但仍会在浏览器上显示此网址 example.com/aaron-cole-about

在我的.htaccess文件上尝试了这个,但我似乎没有工作:

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !\.php$
RewriteRule ^(.*)$ $1.php [L,QSA]

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/aaron-cole-about$ /about?id=52 [L]

立即修复

1 个答案:

答案 0 :(得分:1)

您只需要重新订购规则。

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/aaron-cole-about$ /about?id=52 [L]
RewriteRule ^(.*)$ $1.php [L,QSA]

发生了什么,是否匹配(.*) - a.k.a.匹配任何 - 规则,这使您的更具体的规则无法访问。