刚刚创建了一个基于Wordpress的网站,现在我遇到了以下问题。没有在Wordpress中构建的旧网站使用变量p=
作为其页面,就像Wordpress一样。现在我正在尝试重定向它们,但这不起作用,我认为因为Wordpress也使用了p变量。
我想将页面http://purplethinking.nl/mauritshof/?p=brunch
重定向到页面http://purplethinking.nl/mauritshof/feestelijk/brunch
我更改了.htaccess
并添加了以下行:
RewriteRule ^/mauritshof/?p=brunch$ /feestelijk/brunch/[L]
你能说出我做错了什么吗?
编辑:这是我完整的.htaccess文件
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mauritshof/
RewriteCond %{QUERY_STRING} ^p=([^&]+)
RewriteRule ^mauritshof/?$ /feestelijk/brunch/ [L,R]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mauritshof/index.php [L]
</IfModule>
# END WordPress
答案 0 :(得分:1)
您的规则无效,因为:
RewriteRule
与QUERY_STRING不匹配。RewriteRule
与前导斜杠不匹配完整.htaccess :
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mauritshof/
RewriteCond %{QUERY_STRING} ^p=(brunch)(?:&|$)
RewriteRule ^/?$ /feestelijk/%1/? [L,R]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mauritshof/index.php [L]
</IfModule>
# END WordPress