這是我的.htaccess文件:與-Indexes陷入無限重定向循環
# NO LISTING OF INDEXES
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
# NIX THE www BECAUSE IT IS NO LONGER 1996 AND YOU'RE COOLER THAN THAT
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)/$ http://%1/$1 [R=301,L]
# NIX TRAILING SLASHES BECAUSE SEO IS A VENGEFUL GOD AND WHATNOT
RewriteRule ^(.*)/$ $1 [R=301,L]
# SEND ALL NON-FILE REQUESTS TO index.php FOR FIGURING OUT
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# ERROR DOCS
ErrorDocument 400 /error/400
ErrorDocument 401 /error/401
ErrorDocument 403 /error/403
ErrorDocument 404 /error/404
ErrorDocument 500 /error/500
如果我試圖訪問一個文件夾(/images/
或/images
或在我的網站其他一些真正的文件夾結構)它落入一個重定向循環。
我嘗試添加RewriteCond %{REQUEST_FILENAME} !-d
尾隨斜線規則,以及「固定」在儘可能現在執行上適當結尾的斜線重定向文件夾,但也通過文件夾名,我的劇本就好像它是一個烤前我的CMS的URI查詢弄清楚。
我想我現在可以嘗試通過檢查URI是否是某人試圖非法列出的文件夾來解決此問題,但理想情況下,會有一個優雅的.htaccess
解決方案將文件夾列表調用重定向到那些禁止的頁面我很有用地在那裏宣佈。有人知道嗎?
我敢肯定你不應該使用RewriteRules的R = 301部分。 301 HTTP狀態代碼適用於請求的資源已永久移動的情況。例如,剝離* www *,並不意味着我是使用該狀態碼的有效理由。 –
嗯。在我非常確定用戶正在尋找什麼內容的情況下(尾部斜線和www子域名只是裝飾),我從不會讓我覺得這是一個概念上不好的事情,但我不希望搜索引擎蜘蛛混淆關於重複的內容。我有效地說,你正在尋找生命在這裏。 – Hoatzin