我使用这个htaccess网址 mywebsite.com/xyz/search.html
这里xyz是root
中的文件夹 .htaccess中的使用此网址的代码
# enable apache modRewrite module #
RewriteEngine On
RewriteBase /
RewriteRule ^([^//]+)/?(^/*)?.ht(m?ml?)$ index.php?page=$1 [L,QSA]
现在我想要这个
xyz/search.html
被击中了
网址xyz/index.php?page=search
但是这个:
RewriteRule ^([^//]+)/?(^/*)?.ht(m?ml?)$ index.php?page=$1 [L,QSA])
代码不能正常工作.. 关于这个的任何想法...
答案 0 :(得分:8)
在.htaccess文件中键入一些随机字符并尝试重新加载页面,如果您看到错误500然后您的.htaccess文件正常工作,请在“RewriteEngine On”之后添加随机字符。
答案 1 :(得分:2)
不确定该规则是否有效。这个人能做到这一点吗?
RewriteRule ^.*/(.*)\.html?$ index.php?page=$1 [L,QSA]
此外,如果您想以更高的可见性测试规则,可以将R=302
添加到标记中,这样您的浏览器就会获得重定向,并且您将能够看到重写地址栏中的网址
答案 2 :(得分:1)
我想知道人们为什么不使用RewriteLog
。
放在同一个地方:
RewriteLog /tmp/rewrite.log
RewriteLogLevel 3
它减慢了服务器的速度,但是为了进行调试,它已经完成了。
答案 3 :(得分:1)
尝试:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*?)/?([^/]+)\.ht(m|ml)?$ $1/index.php?page=$2 [L,QSA]
答案 4 :(得分:1)
有一个非常方便的online tool用于测试htaccess文件。只需将您的重定向规则粘贴到提供的表单中,然后测试各种url,以查看它们是否被重定向或保持不变。...如此简单!