在我完全疯狂之前,也许有人可以帮助我。我有一个网站有两个网址,我想重定向。
我希望除了图库页面以外的所有流量都转到index.php。
这是我的htaccess:
php_flag magic_quotes_gpc Off
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.*)$ /index.php?/$1
RewriteRule ^gallery(/((([a-zA-Z0-9-]+)(/(\d+))?)/?)?)?$ gallery.php?groupId=$4&showpage=$6 [NC,QSA,L]
除了一部分之外,这是有效的。图库的重写规则并不完全正常。它通过groupId发送到gallery.php脚本,但我没有通过showpage参数。事实上,当showl包含在url中时,我得到404.例如。
这些工作由重写规则
正确处理gallery
gallery/
gallery/mygroup
gallery/mygroup/
这不起作用并抛出404.
gallery/mygroup/2
我所做的一切似乎都没有解决这个问题,我将非常感谢你的帮助。如果我设置了showpage。如果我提供旧的
,则库脚本可以工作gallery.php?groupId=mygroup&showpage=2
所以我确定htaccess规则没有抓住网址。
提前致谢。
答案 0 :(得分:0)
你的正则表达式看起来有点过分了。改为使用两个更简单的重写规则:
RewriteRule ^gallery/([a-zA-Z0-9-]+)/?$ gallery.php?groupId=$1 [NC,QSA,L]
RewriteRule ^gallery/([a-zA-Z0-9-]+)/(\d+)/?$ gallery.php?groupId=$1&showpage=$2 [NC,QSA,L]