我使用简单的HTAccess重定向规则重定向: -
http://localhost/sell_script/s.php?value=1
到
http://localhost/sell_script/s/1
当我直接加载http://localhost/sell_script/s.php?value=1
时,它运行正常。但是,当我加载http://localhost/sell_script/s/1
时,它会再次将我重定向到http://localhost/sell_script/s.php?value=1
。
这可能是什么问题?
我的htaccess: -
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^s/(.*) sell_script/s.php?value=$1 [R]
答案 0 :(得分:0)
要明确上述内容,重定向是来自
的http://localhost/sell_script/s/1
到
http://localhost/sell_script/s.php?value=1
不是相反。
如果您的RewriteBase
为/
,则应在规则中加入sell_script
。
RewriteRule ^sell_script/s/(.*)$ /sell_script/s.php?value=$1 [L,R=301]
另请注意,我添加了L
以使规则成为端点,并将重写更改为301
代码,该代码更具搜索引擎友好性等。
答案 1 :(得分:0)
我为你写了这个简单的重写。
#ErrorDocument 404 /
RewriteEngine On
#RewriteCond %{SERVER_PORT} 80
RewriteRule ^s/(.+)$ s.php?id=$1 [L,QSA]
这会将s.php?id=1
重定向到s/1
。