为我的页面重定向工作。我有一个所有新旧网址的列表。
旧的urls是/directory/subdirectory/file.php
新的urls是干净的urls
/目录/子目录/文件/
一些新的urls与没有".php“的旧urls匹配,而另一些则不匹配。
一个网页建议:
RedirectMatch 301 ^/sales/products/item$ /products/item-name/但是下面的代码会给我一个重定向循环吗?
RedirectMatch 301 ^/privacy-policy$ /privacy-policy/我还没有试过,但希望不会给自己带来麻烦。
发布于 2011-06-19 02:41:04
使用Apache的mod_rewrite --将以下行添加到您的.htaccess文件中:
# Activate Rewrite Engine
RewriteEngine On
# redirect *.php to "nice" url
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)\.php$ $1/ [R=301,QSA]
# process "nice" urls by looking for appropriate .php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ $1.php [L,QSA]这些规则将做两件事:
1)将*.php重定向(301)到“好的”urls:directory/subdirectory/file.php将变成directory/subdirectory/file/
2)正确服务这类“好的”urls,例如directory/subdirectory/file/将被视为directory/subdirectory/file.php。
P.S.如果重定向不起作用(根据配置有时可能会发生),请尝试在$1前添加斜杠(例如/$1 )
https://stackoverflow.com/questions/6397923
复制相似问题