0

我很抱歉提出这样的问题,周围有数百个,如果我不需要了解,我不会问。我在 .htaccess 上尝试了无数次但无法使其工作,我也在本地服务器上进行测试,但我确定 mod_rewrite 已打开,所以我正在犯的错误应该是。

我目前正在尝试将 m URL 从

example.com/article.php?article_id=article-id-goes-here&article_title=article-title-goes-here

example.com/article/75/article-title-goes-here

我尝试过的最新代码如下:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/$ webroot/article.php?article_id=$1&article_title=$2 [QSA,L]

我的文件夹结构目前为

blog/

   libraries/
      articleClass 
          articleClass.php

   webroot/
      css/
      images/
      js/

   .htaccess

我将所有内容转发到 webroot,因为那是我的索引页面。

4

2 回答 2

0

您的模式末尾有一个额外的斜杠,您说您正在使用的 URL 中不存在该斜杠:

RewriteRule ^([^/]+)/([^/]+)/?$ webroot/article.php?article_id=$1&article_title=$2 [QSA,L]

您可以通过在?其后添加一个来选择。

于 2013-11-13T15:17:20.263 回答
0

example.com/article.php?article_id=article-id-goes-here&article_title=article-title-goes-here

example.com/article/75/article-title-goes-here

试试这个规则:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/([^/]+)/([^/]+)/?$ webroot/article.php?article_id=$1&article_title=$2 [QSA,L,NC]
于 2013-11-13T15:17:28.533 回答