【发布时间】:2010-09-03 16:59:59
【问题描述】:
我正在将一个子域重写到一个“文件夹”——实际上是 wordpress 中的一个页面,这一切似乎都正常工作。我不希望 URL 栏中的地址更改。
一切正常,除非用户没有在页面名称后面加上斜杠,然后页面仍会重定向到正确的 URL,但地址栏中的 URL 会发生变化
例如:foo.example.com/bar 变为:public.example.com/foo/bar
哪里 : foo.example.com/bar/ 在地址栏中停留在正确的 URL 但显示重定向的页面(这是正确的)
如果没有发送,我需要添加什么规则来添加斜杠?
我目前的代码是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^foo\.example\.com$ [NC]
RewriteRule ^(.*)$ http://public.example.com/foo/$1 [P]
# rules for WordPress ...
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#####
</IfModule>
任何帮助都会很棒,我对 htaccess 还是很陌生。谢谢!
【问题讨论】:
-
RewriteRule ^(.*)$ http://public.example.com/foo/$1 [L]应该始终导致外部重定向,但您是说如果您在 URL 上包含尾部斜杠,它不会? -
嗨蒂姆!啊,我粘贴了错误的代码。它应该是 [P] 而不是 [L] - 正确的页面显示不带斜线,但它在地址栏中重定向。有了斜线,一切都完美了!
标签: php apache wordpress .htaccess mod-rewrite