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