好的,这有点奇怪,我的htaccess规则似乎每次都不起作用。有时它会将人们发送到404页面。但如果他们再次尝试相同的链接,那么它就会起作用。
这是我的规则:
RewriteRule ^articles/(.+?)\.([0-9]+)/?$ /index.php?module=articles_full&aid=$2&title=$1 [N,NC,QSA]
RewriteRule ^articles/(.+?)\.([0-9]+)/page\=([0-9]+)?$ /index.php?module=articles_full&aid=$2&title=$1&page=$3 [N,NC,QSA]
任何人都可以看到这些规则有什么问题吗?它基本上将index.php?module = articles_full& aid = 123& title = title转换为/articles/title.123
我也有这个将旧链接重定向到新链接,不知道是否有人知道他们是否有时会发生冲突?
RewriteCond %{QUERY_STRING} threads/(.*)\.([0-9]+)/*
RewriteRule index.php /articles/%1\.%2?from=oldSite [R=301,L]
指向我的完整htaccess的链接:http://pastebin.com/G0AxxiHb
查看今天(30日)的错误日志,这些内容突然出现在我身上:
[Wed Jan 30 09:44:30 2013] [error] [client 2.229.9.52] File does not exist: /home/gamingon/public_html/articles, referer: http://plus.url.google.com/url?sa=z&n=1359539066078&url=http%3A%2F%2Fwww.gamingonlinux.com%2Farticles%2Frolling-survival-a-new-alpha-funded-game-on-desura.1681&usg=V4xV32LxoWJ1cPOvrD_XZgftgN8.
那个看起来像我在G +上发布的链接,我猜是因为它在网址的末尾加了“& usg = V4xV32LxoWJ1cPOvrD_XZgftgN8”?
[Wed Jan 30 11:34:43 2013] [error] [client 100.43.83.149] File does not exist: /home/gamingon/public_html/$10,000 to finish on Kickstarter
这似乎错过了“/ articles /”,id和它的名字中有空格?不确定是怎么发生的,也许有人手动输入了它?
似乎也是其中的一部分:
[Wed Jan 30 06:32:38 2013] [error] [client 94.246.88.189] File does not exist: /home/gamingon/public_html/articles
您认为我可能需要在两个/文章/规则中添加一些内容来检查链接是否会将内容添加到最后?喜欢来自twitter,g +等的链接?