【发布时间】:2015-06-18 06:45:02
【问题描述】:
我正在使用
RedirectMatch 301 ^story.php?id=(.*) http://domain.com/p=$1
试一试
301 redirect domain.com/story.php?id=xxxx to domain.com/p=xxxx
我错过了什么?
我正在使用 centos 7,来自 yum 的最新 httpd
添加更多细节
http://domain.com/story.php?id=449
需要301重定向到
http://domain.com/?p=449
我的 htaccess
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=([^&]+) [NC]
RewriteRule ^story\.php$ /?p=%1? [L,NC,R=302]
RewriteBase /
Redirect 301 /forums http://domain.com
Options -Indexes
#RewriteEngine On
RewriteRule ^([a-z]{2}|zh-CN|zh-TW)/forums/(.*)$ /forums/$2 [R=301,L,QSA]
RewriteRule ^([a-z]{2}|zh-CN|zh-TW)/(.*)$ http://$1.domain.com/$2 [R=301,L,QSA]
RewriteRule ^(server-info|bb-server-status) - [L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
结束 WordPress
【问题讨论】:
-
您无法使用
RedirectMatch匹配查询字符串。请改用mod_rewrite。
标签: regex apache redirect http-status-code-301