root htaccess覆盖子文件夹htaccess

时间:2016-06-27 10:42:49

标签: .htaccess

我在root中有一个htaccess文件,在films文件夹中有另一个htaccess。我想停止所有重写网址或条件以影响电影文件夹。我在电影文件夹htaccess中有一些其他规则。

我的root htaccess看起来像这样

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^abc\.in$ [NC]
RewriteRule ^(.*)$ http://www.abc.in/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

我的子目录电影文件夹htaccess

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /films/

RewriteCond %{REQUEST_METHOD} =POST
RewriteRule ^ - [L]

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteRule ^change-password/$ changepassword.php
RewriteRule ^change-password$ changepassword.php

上面的代码只是我原来的htaccess的一瞥

2 个答案:

答案 0 :(得分:1)

/films/.htaccess中,更改您的规则

RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

到此:

RewriteRule ^(.*)$ http://%1/films/$1 [R=301,L]

要将所有/电影请求重定向到www,您可以使用以下内容:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

答案 1 :(得分:1)

您可以通过以下代码执行此操作: -

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/films/$1 [R=301,L]

它可能对你有帮助。