【发布时间】:2011-05-30 20:20:34
【问题描述】:
假设 / 是我的域 example.com 的文档根。
/.htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
/dir/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /dir/index.php [L]
</IfModule>
我知道如何将example.com/dir 重定向到www.example.com/dir,因为/.htaccess 可以完成这项工作。
但是,这里的诀窍是,如果您明白我的意思,我必须保留 /dir/.htaccess 来提供虚拟目录(例如 /dir/state/AK/35827/,它们不是实际目录)。
问题是,如果我保留/dir/.htaccess,请求:
http://example.com/dir/state/AK/35827/
不重定向到:
http://www.example.com/dir/state/AK/35827/
原样:
http://example.com/
重定向到:
http://www.example.com/
不确定我是否说清楚了。
基本上,如何使http://example.com/dir/state/AK/35827/ 正确重定向到http://www.example.com/dir/state/AK/35827/ 并且我可以提供虚拟网址?
【问题讨论】:
标签: apache .htaccess mod-rewrite redirect