0

如何允许用户导航到这个 url example.com/aaron-cole-about,并在幕后将它更改为这个 url 到example.com/about?id=52,但仍然在浏览器上显示这个 url 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]

现在修复

4

1 回答 1

1

你只需要重新排序你的规则。

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

发生了什么,它是否匹配(.*)- 也就是匹配任何东西 - 规则,这使得您的更具体的规则无法访问。

于 2013-08-09T03:27:36.020 回答