【问题标题】:Root htaccess overriding the sub folder htaccess根 htaccess 覆盖子文件夹 htaccess
【发布时间】:2016-10-29 08:17:47
【问题描述】:

我在根目录中有一个 htaccess 文件,在电影文件夹中有另一个 htaccess。我想停止所有重写 url 或条件以影响电影文件夹。我在电影文件夹 htaccess 中还有一些其他规则。

我的根 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的一瞥

【问题讨论】:

  • 当您转到 /films 文件夹时会发生什么?它会将您重定向回根目录吗?
  • 是的,它会将我重定向到根文件夹@starkeen

标签: .htaccess


【解决方案1】:

您可以通过以下代码来做到这一点:-

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

也许对你有帮助。

【讨论】:

  • 你能试试这个解决方案吗?
  • 是的,它有效,我的表格也有效。谢谢......它就像一个魅力
【解决方案2】:

/films/.htaccess,改变你的规则

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

到这里:

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

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

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

【讨论】:

  • 页面被重定向到电影文件夹,但现在我在电影文件夹中的表单无法正常工作。我正在使用 ajax 调用它们,我希望 URL 中有 www。
猜你喜欢
  • 2013-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-09
  • 1970-01-01
相关资源
最近更新 更多