我的网址重写有问题。
我想将动态链接example.com/new.php?name=latest-news
更改为example.com/latest-news-of-the-day
我的.htaccess文件配置
RewriteEngine on
RewriteRule (.*)-of-the-day$ new.php?name=$1[NC,L]
现在页面网址仍然相同,但如果我手动编写example.com/latest-news-of-the-day
则可行。我想根据.htaccess文件显示新的网址,但它没有自动显示。
答案 0 :(得分:0)
您需要添加其他规则,以便在浏览器请求new.php
页面时对其进行外部重定向:
RewriteCond %{THE_REQUEST} \ /+new\.php\?name=([^&\ ]+)
RewriteRule ^ /%1-of-the-day? [L,R=301]
答案 1 :(得分:0)
您的传入 URI是/<something>-of-the-day
,您想“无形地”将其更改为真实文件/new.php?name=<something>
吗?
RewriteEngine On
RewriteRule ^(.*)-of-the-day/?$ /new.php?name=$1 [NC,QSA]
如果没有RewriteCond,则不需要[L]标志,并且[QSA]标志保留随原始URI一起提供的任何查询字符串。请注意,它不会检查原始URI是否是现有目录或文件(您可以添加RewriteCond语句来限制它)。