我的.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]
答案 0 :(得分:2)
我猜,对于art
,design
,projects
和teaching
,您有相应的目录。这会导致从/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]
然后使用和触发规则而不使用尾部斜杠。