我正在尝试使用httpd
进行mod_rewrite我想要来源:
www.foo.bar.com/abc/
转到目的地:
www.foo.bar.com/def/
所以我到了:
RewriteRule ^abc/([^/\.]+).$ def/$1 [L]
但是我不仅仅想要那个页面,我希望网址后面的所有后续页面都能重写。
示例www.foo.bar.com/abc/blahblahblah1.html
转到www.foo.bar.com/def/blahblahblah1.html
问题是我不认为这是对的,因为它似乎不起作用。
答案 0 :(得分:0)
RewriteEngine On
RewriteRule ^/abc/(.*)$ /def/$1
简化了一点,因为我不确定为什么你要在任何给定的'/'或'。'停止重写。 - 可能导致一些奇怪的行为。
这假设您在.htaccess
(在文档根目录中)执行重写,而不是httpd-vhosts.conf
(两者之间的路径可能略有不同)。
答案 1 :(得分:0)
RewriteEngine On
RewriteBase /
RewriteRule ^abc/(.*) def/$1 [L,NS]
这假定.htaccess
在您的DOCROOT中。始终指定一个基础 - 对于您的文档根目录。不要包括前导/用于每个目录(在.htaccess
中)。