我很抱歉问这样一个问题,周围有数百个问题,我不会问我是否需要理解。我已经尝试了无数次.htaccess但无法使其工作,我也在本地服务器上进行测试,但我确定mod_rewrite已经开启,所以应该是我正在制作的错误。
我目前正在尝试从
更改m网址 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,因为那是我的索引页。
答案 0 :(得分:0)
你的模式末尾有一个额外的斜杠,而你所说的URL中没有这个斜杠:
RewriteRule ^([^/]+)/([^/]+)/?$ webroot/article.php?article_id=$1&article_title=$2 [QSA,L]
您可以通过在其后添加?
来使其成为可选项。
答案 1 :(得分: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]