正在努力使我的网站网址搜索引擎友好,并为此重写网址与GET参数,所以我已经完成重写,但现在htaccess没有指向该文件的网址,这是假设处理网址
我的旧网址
www.domain.com/foo/myfile.php?nid=554
使用php重新编写的新网址
www.domain.com/foo/554-demo-page-title
我目前的htaccess规则适用于旧网址但不适用于新网址
Options +FollowSymLinks
RewriteEngine On
#RewriteCond %{SCRIPT_FILENAME} !-d
#RewriteCond %{SCRIPT_FILENAME} !-f
RewriteBase /
RewriteRule ^([0-9]+)-(.*) ./foo/myfile.php?nid=$1 [NC]
所以我想要新旧网址都放在/foo/myfile.php上因为myfile.php可以处理两个网址,包含旧网址重写并重定向为新网址,我用htaccess规则玩了几个小时但是没有成功
答案 0 :(得分:1)
您可以在站点根目录.htaccess中使用此规则(假设.htaccess
目录中有foo/
):
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^foo/(\d+)-.*$ foo/myfile.php [L,QSA,NC]
如果您已经拥有/foo/.htaccess
,请在该文件中使用此规则:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /foo/
RewriteRule ^(\d+)-.*$ myfile.php [L,QSA]