htaccess将url重定向到目录文件

时间:2016-09-21 17:11:34

标签: php .htaccess

正在努力使我的网站网址搜索引擎友好,并为此重写网址与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规则玩了几个小时但是没有成功

1 个答案:

答案 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]