漂亮的URL只能部分正常工作

时间:2012-05-22 18:25:14

标签: php .htaccess hyperlink friendly-url

在Stackoverflow的人们的帮助下,我设法将一个.htaccess文件放在一起,允许“漂亮的URL”。如果用户直接在地址栏中输入“漂亮的网址”,这很好,因为转换的工作方式完全符合我的预期,但如果用户点击我网站中生成动态链接的链接,则会显示“丑陋的网址” '遗骸,转换不会发生。是否需要添加到.htaccess文件才能使其正常工作,或者我是否需要编写一些PHP来强制转换链接?

我的.htaccess文件设置如下:

Options -Multiviews

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^mysite\.com$
RewriteRule ^(.*) http://mysite.com/$1 [R=301,L]

RewriteRule ^episode/(0|[1-9]\d{0,2})$ /episode.php?episode=$1 [L,QSA]

(将http://mysite.com/episode.php?episode=31转换为http://mysite.com/episode/31。)

1 个答案:

答案 0 :(得分:0)

最后添加此规则以在浏览器中强制使用漂亮的URL:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+episode\.php\?episode=(\d+) [NC]
RewriteRule ^ episode/%1? [R=302,L]

一旦工作,将R=302更改为R=301