【发布时间】:2014-06-16 19:35:10
【问题描述】:
我正在使用重写规则重写 htaccess 上的 url,但是当我希望我的网站使用它时,我就卡住了。 我希望我的链接看起来像:
mysite.com/section/this-is-the-title-of-this-section
我使用重写规则来得到这个:
mysite.com/section/?id=longalfanum 到 mysite.com/section/longalfanum
那一刻很酷。但我检查了一些网站的 URL,我意识到它们从一开始就有友好的 URL 所以我将 url 更改为:
mysite.com/section/longalfanum-the-title-of-the-section
现在我的链接不像以前那样工作了。
我的 htaccess 看起来像:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
#this is for avoid extra /
RewriteCond %{REQUEST_URI} ^(.*?)(/{2,})(.*)$
RewriteRule . %1/%3 [R=301,L]
RewriteCond %{QUERY_STRING} !^$
RewriteRule .*/mysite.com/%{REQUEST_URI}? [R=301,L]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
#this is my rule
RewriteCond %{QUERY_STRING} ^id=(\d+)$
RewriteRule /mysite.com/section/$1? [L]
RewriteRule ^section/(\d+)$ mysite.com/section/?id=$1
显然这不起作用。我错过了一步吗?
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting