-3

我希望有人可以通过 mod_rewrite 规则帮助我,将指向我服务器上“videos.php”的动态 url 重定向到基本 url。

例如,我需要将 'website.com/1/music/various/videos.php?=1234' 重定向到 'website.com/videos.php?=1234'

编辑:我正在寻找一个动态的解决方案。如果一个 url 随时指向videos.php,我需要做一个301 重定向到主目录。即如果/1/home/music/videos.php?=1234 重定向到/videos.php?=1234,或/music/playlist/1234/videos.php?1432 到/videos.php?1432。

4

2 回答 2

1

创建一个.htaccess文件并插入以下行:

RewriteEngine On

# Page moved permanently:
RewriteRule ^videos\.php\?\=([0-9]+)\.html$ /1/music/various/videos.php?=$1 [R=301,L]

测试时,请忽略该R=301,部分,否则您将只能看到很长很长时间的缓存内容。在确定其工作正常时添加它。或者用302,意思是暂时的。

于 2013-04-03T18:56:09.097 回答
0

请检查:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} ^/1/music/various/videos.php$
RewriteCond %{QUERY_STRING} (.+)$
RewriteRule ^(.*) /videos.php [R,QSA]

RewriteCond %{REQUEST_URI} ^/videos.php$
RewriteCond %{QUERY_STRING} !(.+)$
RewriteRule ^(.*) http://%{HTTP_HOST}/ [R=301]

如果它不起作用,那么试试这个:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} ^/1/music/various/videos.php$
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^(.*) /videos.php%1 [R]

RewriteCond %{REQUEST_URI} ^/videos.php$
RewriteCond %{QUERY_STRING} !(.+)$
RewriteRule ^(.*) http://%{HTTP_HOST}/ [R=301]
于 2013-04-03T19:55:59.797 回答