在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
。)
答案 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
。