.htaccess RewriteRule在某些情况下工作而不是其他情况

时间:2013-11-14 19:26:06

标签: .htaccess redirect

我的.htaccess文件的这一部分将/ x或/ x /的请求定向到x.php(仅针对下面列出的6个页面)。但是,/ links和/ contact(没有结束斜杠)的请求显示404页面。其他页面正确地重定向,有或没有结束斜杠。什么可能导致这两个实例不像其他实例一样工作?

RewriteRule ^art/$ art.php [QSA,L]
RewriteRule ^design/$ design.php [QSA,L]
RewriteRule ^projects/$ projects.php [QSA,L]
RewriteRule ^teaching/$ teaching.php [QSA,L]
RewriteRule ^links/$ links.php [QSA,L]
RewriteRule ^contact/$ contact.php [QSA,L]

1 个答案:

答案 0 :(得分:2)

我猜,对于artdesignprojectsteaching,您有相应的目录。这会导致从/art重定向到/art/,然后您的RewriteRule就会触发。

我会使用

选择尾随斜杠
RewriteRule ^art/?$ art.php [QSA,L]
RewriteRule ^design/?$ design.php [QSA,L]
RewriteRule ^projects/?$ projects.php [QSA,L]
RewriteRule ^teaching/?$ teaching.php [QSA,L]
RewriteRule ^links/?$ links.php [QSA,L]
RewriteRule ^contact/?$ contact.php [QSA,L]

然后使用触发规则而不使用尾部斜杠。

相关问题