我怎么知道.htaccess文件是否正常工作?

时间:2014-08-05 12:20:51

标签: php apache .htaccess mod-rewrite

我使用这个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])

代码不能正常工作.. 关于这个的任何想法...

5 个答案:

答案 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,以查看它们是否被重定向或保持不变。...如此简单!