htaccess 重写 - 文件名无法识别
htaccess rewrite - file name not recognized
这几天一直在研究这个,但我似乎无法弄明白。
我在一个目录中有两个文件:
- index.php - 在新闻部分加载文章列表
- article.php - 加载文章文件本身的内容
下面,我卡在了 .htaccess 文件中 index.php 文件的第一条规则上。 (尝试了很多东西,包含和文件都可以,但是我这里的 htaccess 规则没有通过 index.php。文章文件加载也很好。除了在下面应用这两行时。)
link:
domain.com/news/index/66/bass (works)
定义者:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=&page_id= [QSA,NC]
接下来,在该页面上我们点击:
domain.com/news/article/66-17506/SEO-FRIENDLY-TITLE
定义者:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=&page_id= [QSA,NC]
然后我陷入了 index.php 的先前定义。
我已经删除了 [L] 值并尝试了很多东西。我猜只需要加载 article.php。
任何帮助都会节省大量在线文章!
问题是您匹配 URL 的两个正则表达式是相同的。所以任何可能匹配 article.php 规则的东西都已经被 index.php 规则抓取了。您能否将这两个规则更改为:
RewriteRule ^/?news/index/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=&page_id= [QSA,NC]
RewriteRule ^/?news/article/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=&page_id= [QSA,NC]
这几天一直在研究这个,但我似乎无法弄明白。
我在一个目录中有两个文件:
- index.php - 在新闻部分加载文章列表
- article.php - 加载文章文件本身的内容
下面,我卡在了 .htaccess 文件中 index.php 文件的第一条规则上。 (尝试了很多东西,包含和文件都可以,但是我这里的 htaccess 规则没有通过 index.php。文章文件加载也很好。除了在下面应用这两行时。)
link:
domain.com/news/index/66/bass (works)
定义者:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=&page_id= [QSA,NC]
接下来,在该页面上我们点击:
domain.com/news/article/66-17506/SEO-FRIENDLY-TITLE
定义者:
RewriteRule ^/?news/[\w-]+/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=&page_id= [QSA,NC]
然后我陷入了 index.php 的先前定义。 我已经删除了 [L] 值并尝试了很多东西。我猜只需要加载 article.php。
任何帮助都会节省大量在线文章!
问题是您匹配 URL 的两个正则表达式是相同的。所以任何可能匹配 article.php 规则的东西都已经被 index.php 规则抓取了。您能否将这两个规则更改为:
RewriteRule ^/?news/index/([\w-]+)/([\w-]+)/?$ /news/index.php?news_id=&page_id= [QSA,NC]
RewriteRule ^/?news/article/([\w-]+)/([\w-]+)/?$ /news/article.php?news_id=&page_id= [QSA,NC]