确定,
我对.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
答案 0 :(得分:2)
您需要将RewriteBase
更改为/script
。否则当重写到/index.php
时,它会转到文档根目录的index.php(您的首页),而不是脚本中的那个。