当我的主要网站打开时,它会从/home/parsa/public_html
中检索内容。
我已经尝试过:rewriteRule "^/(.*)$" "/ppyazi.com/$1"
我需要它从/home/parsa/public_html/ppyazi.com
检索文件而无需在用户端重定向到它。
以下是一些示例:
index.php
以显示ppyazi.com/index.php
users/index.php
以显示ppyazi.com/users/index.php
答案 0 :(得分:1)
我已经尝试过:
rewriteRule "^/(.*)$" "/ppyazi.com/$1"
在.htaccess
中,与RewriteRule
模式匹配的URL路径不以斜杠开头。因此,模式^/(.*)$
将永远不会匹配,并且您的指令将不执行任何操作。
但是,除非.htaccess
子目录中还存在带有mod_rewrite指令的/ppyazi.com
文件,否则您需要小心重写循环。
请尝试以下操作:
RewriteEngine On
rewriteRule !^ppyazi\.com\ /ppyazi.com%{REQUEST_URI} [L]
RewriteRule
模式只是检查URL是否尚未以我们正在重写的目录开头。我们使用$1
服务器变量来代替RewriteRule
反向引用(因为我们没有捕获REQUEST_URI
模式中的任何内容)。请注意,REQUEST_URI
包含完整的URL路径,包括斜杠前缀,因此应在 susbstitution 字符串中省略斜杠。
需要使用L
(last
)标志,以防止文件中稍后(在本轮处理中)发生的任何其他指令被处理。如果这是文件中的最后一个mod_rewrite指令,则它是多余的。但是请注意,在.htaccess
中,重写过程实际上是重新开始(直到URL不变),因此其他指令仍然可以处理请求。