2
我正面臨我的.htaccess的一個相當奇怪的行爲。每當我嘗試訪問通過mod_rewrite的重寫一個鏈接,我的.htaccess是指的根,而不是子目錄,我的工作我的文件夾結構看起來像這樣:
htdocs/ blog6/ .htaccess
我的.htaccess看起來像這樣:.htaccess在子目錄中始終指向根
Options +FollowSymLinks -MultiViews
ErrorDocument 401 /core/error/401.php
ErrorDocument 403 /core/error/403.php
ErrorDocument 404 /core/error/404.php
ErrorDocument 500 /core/error/500.html
RewriteEngine on
RewriteBase /blog6/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /index.php?page=$1 [L]
但每當我試圖通過重寫URL來訪問文件,我得到一個404錯誤和日誌說:
C:/xampp/htdocs/index.php' not found or unable to stat
所以看起來像我的.htaccess要訪問該文件中的htdocs而不是使用子目錄。當我在我的rewriteRule中寫入/blog6
時,一切正常,但爲什麼RewriteBase無法正常工作?如果是重要的,我在我的HTML中使用<base>
你在瀏覽器中打開什麼網址導致這個404?我相信這個.htaccess在'/ blog6 /'目錄中? – anubhava 2014-10-26 17:47:11
@anubhava是的,.htaccess在'/ blog6 /'中。我打開'http:// localhost/blog6/login',它應該是'http://localhost/blog6/index.php?page = login'的重寫形式。如果我在rewriteRule前加一個'blog6 /',它看起來像這樣:'RewriteRule ^([^ /] *)$ /blog6/index.php?page=$1 [L]'並且可以工作。這就是讓我感到困惑的地方,因爲rewriteBase沒有影響...... – Kommodore 2014-10-26 18:10:35