如何更改example.com/1到example.com/?id=1URL通过我的.htaccess文件改写
我试着用搜索引擎,但我只能找到example.com/?id码= 1〜example.com/1 我用一台发电机,得到了这一点,但没有奏效
RewriteEngine On
RewriteRule ^\?get\=$/[L]
感谢, 艾萨克
如何更改example.com/1到example.com/?id=1URL通过我的.htaccess文件改写
我试着用搜索引擎,但我只能找到example.com/?id码= 1〜example.com/1 我用一台发电机,得到了这一点,但没有奏效
RewriteEngine On
RewriteRule ^\?get\=$/[L]
感谢, 艾萨克
它的种类取决于您想要重写的方式 - 即,用户类型看到的内容以及服务器执行的操作。
如果希望用户看到“http://example.com/1”并在内部服务器提供“http://example.com/?id=1”,那么下面应该工作:
RewriteRule ^([0-9]+)$ /?id=$1
但是,如果你想让用户看到“http://example.com/?id=1”,并在内部服务器提供“http://example.com/1”,那么下面,按照乔恩林的回答,应该这样做:
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^$ /%1?
谢谢。这工作:3 – Isaac
你不能在RewriteRule
对阵查询字符串声明,您需要使用RewriteCond
和%{QUERY_STRING}
变量:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^$ /%1? [L]
的?
需要在规则的目标去除查询字符串。
你的意思是你希望用户去“example.com/1”,它在内部去“ example.com/?id=1" ?或者相反呢? – icabod