我是网上重写的新手,我今天遇到了一个无法找到解决方案的问题。
这是我的.htaccess RewriteConds 正在工作
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_URI} models/([a-z\-A-Z]+)/([a-z\-A-Z]+)
RewriteRule (.*) p.php?model=%1&media=%2 [L]
RewriteCond %{REQUEST_URI} models/([a-z\-A-Z]+)
RewriteRule (.*) orderby.php?model=%1 [L]
然而,当我添加一个新的RewriteCond以将models.php重定向到website.com/models时。它有效,但RewriteCond轰鸣声不再起作用了。
RewriteCond %{REQUEST_URI} models
RewriteRule (.*) models.php [L]
任何人都知道我做错了什么?
答案 0 :(得分:1)
您需要在正则表达式中使用锚点以避免匹配不需要的部分:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_URI} /models/([a-z\-A-Z]+)/([a-z\-A-Z]+)/?$ [NC]
RewriteRule . p.php?model=%1&media=%2 [L,QSA]
RewriteCond %{REQUEST_URI} /models/([a-z\-A-Z]+)/?$ [NC]
RewriteRule . orderby.php?model=%1 [L,QSA]
RewriteCond %{REQUEST_URI} /models/?$ [NC]
RewriteRule . models.php [L]