花了几天的时间,但我似乎无法弄清楚。
我在目录中有两个文件:
下面,我陷入了.htaccess文件中index.php文件的第一条规则。 (经过很多尝试,includes和files都可以,但是我在这里拥有的htaccess规则没有通过index.php。文章文件也很好加载。除了在下面应用这两行时。)
链接:
domain.com/news/index/66/bass (works)
定义:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=$1&page_id=$1 [QSA,NC]
下一步,在该页面上,我们单击以
:domain.com/news/article/66-17506/SEO-FRIENDLY-TITLE
定义:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=$1&page_id=$1 [QSA,NC]
在这里,我陷入了index.php的先前定义。 我已经删除了[L]值并尝试了许多操作。我想只需要加载 article.php 。
任何帮助都会在网上保存很多文章!
答案 0 :(得分:1)
问题在于,用于匹配URL的两个正则表达式是相同的。因此,任何可能与article.php规则匹配的内容都已被index.php规则抓取。您也许可以将两个规则更改为此吗?
RewriteRule ^/?news/index/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=$1&page_id=$1 [QSA,NC]
RewriteRule ^/?news/article/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=$1&page_id=$1 [QSA,NC]