将多个URL重写/屏蔽到同一个网址

时间:2013-04-03 18:43:43

标签: .htaccess mod-rewrite url-rewriting

我目前有多个网址,或者更准确地说是一个带有查询字符串的网址,我希望将其读作相同的网址。

  • /example/url/index.php?foo=A&bar=B
  • /example/url/index.php?foo=C&bar=D
  • /example/url/index.php?foo=E&bar=F

我希望这些都重写为单个网址

重写为www.site.com/singlepage

这可能吗?

3 个答案:

答案 0 :(得分:0)

RewriteEngine on
RewriteRule ^/example/url/index.php(.*)$ http://www.site.com/simglepage [R]

Here是一个不错的网站,描述了URL重写的工作原理

答案 1 :(得分:0)

是的,有可能!在.htaccess文件中,使用以下代码:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^singlepage$ /example/url/index.php [QSA]

答案 2 :(得分:0)

如果我理解您的问题,您希望从外部将所有这些网址重定向到单个网址。通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+/example/url/index\.php\?foo=[^&]*&bar= [NC]
RewriteRule ^ singlepage? [R=302,L]

验证一切正常后,您可以将R=302替换为R=301永久重定向)。