htaccess rewrite-无法识别文件名

pcrecxhr  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(353)

我已经研究了好几天了,但我好像搞不懂。
一个目录中有两个文件:
php-加载新闻版面中的文章列表
php-它用内容加载文章文件本身
下面,我被困在.htaccess文件中index.php文件的第一条规则上(尝试了很多东西,include和文件都可以,但是我这里的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。
任何帮助都可以在网上节省很多文章!

nwnhqdif

nwnhqdif1#

问题是,用于匹配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]

相关问题