这是我的.htaccess
文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~new/
</IfModule>
我网站的目录结构是:
现在我想做的是能够访问如下路径:
domain.com/~new/pages/page1.php
但是当我尝试访问URL
以上时,我会被重定向到404 page
。
我错过了什么?是否还需要ReWriteRule
?
答案 0 :(得分:1)
RewriteBase
并不能按照您的想法行事。事实上,它本身没有任何作用。只有在RewriteBase
中有相对路径替换时才需要RewriteRule
。如果你不这样做(即你正在使用根相对或绝对路径),那么你实际上并不需要它。
还需要ReWriteRule吗?
是的,RewriteRule
是URL重写的实际内容。你需要做一些URL重写。
因此,基本上,您希望在内部重写您的网址:
example.com/~new/pages/page1.php
(您的&#34;虚拟&#34;网址)
到example.com/pages/page1.php
(真实的网址)
RewriteRule ^~new/(.*) /$1 [L]
(.*)
捕获/~new/
之后的所有内容,而$1
是对此捕获的子模式的反向引用。