我知道类似的问题出现了,虽然经常是without a working answer。我希望能有更好的运气!htaccess添加WWW并更改子目录中的文件名
我有我的根目录添加.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 inherit”,但导致调用重定向到我的根文件夹。如果我想让子文件夹无法访问,但在这里没有帮助,这是一个很好的窍门。我也尝试将我的根.htaccess中的代码添加到我的子文件夹的.htaccess的开头,但这并没有更好。
任何想法?
这个工作。谢谢!只是要清楚 - 你认为没有任何好处,只有与本地文件夹相关的重定向才在该文件夹中?现在根文件夹.htaccess非常简单,但我可以想象它变得很长。 – hartshoj
@ user3291354我认为最好是1,因为apache必须扫描并读取htaccess文件的每个目录。所以这可能会对性能有所帮助。如果可能,我更愿意在根中拥有所有规则,因为我可以轻松地进行更改,因为所有规则都位于同一个位置。 –