我正在尝试为友好网址创建规则。我只是在Stack Overflow中寻找其他示例,但找不到解决方案。我很确定代码是正确的,但它不起作用。
例如:/index.php?p=about
必须变为/about
此规则有效:
RewriteRule ^about/?$ index.php?p=about
但是这个(适用于所有页面)不是:
RewriteRule ^([^/]*)$ /index.php?p=$1 [L]
我想使用第二条规则来处理所有页面,而不仅仅是关于页面。愿任何人帮忙吗?
答案 0 :(得分:1)
将您的第二条规则更改为:
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?p=$1 [L,QSA]
QSA
(查询字符串追加)标志在添加新查询参数时保留现有查询参数。