这里的背景: 我想,无需修改我的PHP代码中的URL,进入地址栏
http://website.tdn/somepath/news-246-Some-title.html
而不是:
http://website.tdn/somepath/lireNews.php?idnews=246&titre=Some-title
(意味着我希望两个网址都有效,但是lireNews.php?blah必须重新修改为新闻 - ### - title.html) 这是我的htaccess文件:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^lireNews.php?idnews=([0-9]+)\&titre=(.*)\$ news-$1-$2.html [NC,R,L]
实际上,这段代码根本不起作用,news-246-Some-title.html给了我404错误和lireNews.php?idnews = 246& titre = Some-title给了我没有重定向的网页。
感谢阅读。
答案 0 :(得分:2)
考虑您的评论,您可以将此代码放入htaccess(somepath
文件夹中)
RewriteEngine on
RewriteBase /somepath/
RewriteCond %{THE_REQUEST} /lireNews\.php\?idnews=([0-9]+)&titre=([^\s]+) [NC]
RewriteRule . news-%1-%2.html? [R=301,L]
RewriteRule ^news-([0-9]+)-(.+)\.html$ lireNews.php?idnews=$1&titre=$2 [L]
如果将其移至root子域文件夹,您只需将RewriteBase /somepath/
替换为RewriteBase /