Mod rewrite mod_重写定位和措辞

Mod rewrite mod_重写定位和措辞,mod-rewrite,Mod Rewrite,我重新命名了我网站的大约50页。我想从旧页面到新页面进行内部重写。这是Apache给出的示例 RewriteEngine on RewriteBase /~quux/ RewriteRule ^foo\.html$ bar.html 我不确定是否需要rewriteBase/。我只有个人网页(没有订阅)。 我理解“foo”、“bar”和“qux”等术语都是通用的词汇。如果我在此服务器上只有一个域,并且重写规则将应用于根目录,那么我是否需要包括rewriteBase/、rewrit

我重新命名了我网站的大约50页。我想从旧页面到新页面进行内部重写。这是Apache给出的示例

RewriteEngine  on
RewriteBase    /~quux/
RewriteRule    ^foo\.html$  bar.html
我不确定是否需要
rewriteBase/
。我只有个人网页(没有订阅)。 我理解“foo”、“bar”和“qux”等术语都是通用的词汇。如果我在此服务器上只有一个域,并且重写规则将应用于根目录,那么我是否需要包括
rewriteBase/
rewriteBase/~qux/
,或者我甚至需要
rewriteBase

我假设在使用
rewriteBase/~qux/
时,实际插入的子目录是
/~qux/
。即使我没有子目录,这是正确的吗

RewriteEngine on
Options +FollowSymLinks

#rewrite old to new pages internaly
RewriteBase    /~quux/
RewriteRule    ^foo\.html$  bar.html

#non-www to www
RewriteCond
RewriteRule ...

#index to /
RewriteCond
RewriteRule ...
有人能安排上面所示的正确脚本吗

另外,我知道该脚本将放在其他.htaccess指令之前,例如非www到www和index到/。这是正确的吗

RewriteEngine on
Options +FollowSymLinks

#rewrite old to new pages internaly
RewriteBase    /~quux/
RewriteRule    ^foo\.html$  bar.html

#non-www to www
RewriteCond
RewriteRule ...

#index to /
RewriteCond
RewriteRule ...

重写基础:

如果您的页面类似于:

http://mydomain.com/subdir/index.html
而您的.htaccess文件位于
子目录中/
,则需要设置它:

RewriteBase /subdir/
这使您可以使规则忽略子目录,因此

RewriteRule ^old_index.html$ new_index.html
将重定向到
subdir/old_index.html
subdir/new_index.html

定位:

只有在规则之后未使用
[L]
标志时,规则的定位才有意义。此修饰符告诉mod_rewrite停止重写并进行重定向。不使用它会让重写引擎一次就可以对你的url做任何事情。因此,如果您的url如下所示:

http://mydomain.com/old_index.html
它将转换为

http://www.mydomain.com/new_index.html
无论哪条规则先到,添加www.的规则还是指向新页面的规则。但是如果有一个
[L]
标志,那么它可以在两个重定向中完成