.htaccess仅适用于特定文件夹脚本

时间:2012-08-17 13:10:34

标签: .htaccess mod-rewrite

确定, 我对.htaccess RewriteRule有一个小问题。

我在本地创建了一个简单的网站,使用RewriteRule作为网址:

http://localhost/ <- main page
http://localhost/log/ <- log page
etc.

我在.htaccess文件中有这个:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /script
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

AuthUserFile c:\data\mysite\.htpasswd
AuthType Basic
AuthName "Secret place"
require valid-user

由于网站已准备就绪,而且它基本上只是一个有用的脚本,我将内容移至http://mysite/script/

当我打开http://mysite/script/时,这一切都有效,但当我点击网址时,它会在浏览器栏中显示http://mysite/script/log/,但会加载http://mysite/首页内容。

意思是,重定向不允许我阅读必需log内容,但认为这是对首页的重写(因为主网站没有值script/log/

现在,如何设置它以加载真实 mysite/script/log内容?

提前致谢。

编辑:

这是主站点root上的.htaccess文件:

RewriteEngine On

RewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,4}$|^$)
RewriteRule .* - [F]

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

RewriteCond  %{QUERY_STRING} (\&ch_lang\=[]{2}|)
RewriteRule  ^one-of-links$ ?main_page_extend=4011%1 [L]

php_value memory_limit 512M

1 个答案:

答案 0 :(得分:2)

您需要将RewriteBase更改为/script。否则当重写到/index.php时,它会转到文档根目录的index.php(您的首页),而不是脚本中的那个。