apache - 使用 htaccess 模拟目录
问题描述
当我的主网站打开时,它会从/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
解决方案
我试过这个:
rewriteRule "^/(.*)$" "/ppyazi.com/$1"
在与模式.htaccess
匹配的 URL 路径中,不以斜杠开头。所以,模式永远不会匹配,你的指令什么也不做。RewriteRule
^/(.*)$
但是,除非子目录中还有一个带有 mod_rewrite 指令的.htaccess
文件,否则/ppyazi.com
您需要小心重写循环。
请尝试以下操作:
RewriteEngine On
rewriteRule !^ppyazi\.com\ /ppyazi.com%{REQUEST_URI} [L]
该RewriteRule
模式只是检查 URL 是否已经从我们正在重写的目录开始。我们使用服务器变量代替反向$1
引用(因为我们没有捕获RewriteRule
模式中的任何内容)。REQUEST_URI
请注意,它REQUEST_URI
包含完整的 URL 路径,包括斜杠前缀,因此应从替代字符串中省略斜杠。
( ) 标志是必需的L
,last
以防止在文件中稍后发生的任何进一步的指令被处理(在当前的处理轮次中)。如果这是文件中的最后一个 mod_rewrite 指令,那么它是多余的。但是请注意,在.htaccess
重写过程中基本上是重新开始(直到 URL 不变地通过),因此其他指令可能仍会处理请求。
推荐阅读
- c++ - 如何在不使用 realloc 的情况下使用 new 和 delete C++ 重新分配动态数组?
- python - 我想从python中的一个sting中提取一个sin函数
- mongodb - 如何使用聚合查询在 mongodb 中获取计数?
- javascript - 如何使用 GMT 时区获取 ISOString 的日期
- reactjs - 如何将一个大的 React 应用拆分成几个“小应用”来提高性能?
- python - 如何获取不同字典中相同键的所有值,并且字典存储在列表中
- android - 在 Gradle 中获取 NDK 版本
- python - 从 Databricks 对 Azure SQL 数据库中的表执行更新/覆盖
- php - 朋友,我试图将 HTML 表单中的数据插入 Mysql 数据库,但它不起作用,也找不到错误
- java - 加法竞争编程