【发布时间】:2014-02-18 09:40:35
【问题描述】:
我知道有人提出过类似的问题,但经常是without a working answer。我希望有更好的运气!
我的根目录中有一个 .htaccess 文件,将“www”添加到所有内容:
RewriteEngine on
RewriteCond %{SERVER_NAME} ^mysite.org
RewriteRule ^(.*)$ http://www.mysite.org/$1 [R=permanent,L]
这通常可以正常工作。我有一个子文件夹 (/myquiz/),其中旧的 index.html 文件已替换为 index.php。我知道 /myquiz/index.html 有外部链接,所以我想确保这些重定向。保留 index.html 并尝试从中重定向会导致一些 奇怪的 行为,但在该目录中添加 .htaccess 可以解决此问题:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html?$ /myquiz/index\.php [NC,R]
尝试加载 index.html 会按预期重定向到 index.php,如果需要,会添加 WWW。但是直接请求 mysite.org/myquiz/index.php 并不添加 WWW。
我尝试添加“RewriteEngine 继承”,但这导致调用被重定向到我的根文件夹。如果我想让子文件夹无法访问,这是一个很好的技巧,但在这里没有帮助。我还尝试将根 .htaccess 中的代码添加到子文件夹 .htaccess 的开头,但效果并不好。
有什么想法吗?
【问题讨论】:
标签: apache .htaccess mod-rewrite redirect