我的.htaccess文件包含代码:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) ?p=$1 [L]
但我希望它不仅可以将URI字符串转换为get参数p,还可以将所有其他get参数转换为p,换句话说:
domain.com/somewhere/somepage.html?foo=2 ---->
domain.com/?p=urlencoded(somewhere / somepage.html?foo = 2)
我该怎么做?
答案 0 :(得分:1)
在.htaccess文件中使用以下代码
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteCond %{QUERY_STRING} !^p= [NC]
RewriteRule . /?p=%{REQUEST_URI}?%{QUERY_STRING} [L]
由于此处未提供NE
标志,因此mod_rewrite引擎将在内部重定向之前对原始URI进行编码。