[英].htaccess all request to other file
目前我有以下.htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/index.php/$1 [L]
</IfModule>
哪作得最完美。
它將像http://domain.com/something/這樣的網址重新發送到public / index.php文件,就像一個魅力,除非它是一個文件,就像它應該的那樣。
但是http://domain.com (沒有附加任何路徑)(根目錄中沒有index.php,所以它現在給出了404)沒有被重寫,我怎么能改變這個.htaccess所以它重寫了這個網址呢?
索引文件在public / index.php中我希望它通過使用.htaccess加載該文件
謝謝
我相信重寫根,你可以簡單地做一些事情:
RewriteRule ^$ location/of/root/file [L]
你可以嘗試:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/index.php
RewriteBase應在規則模式前加上前導斜杠,強制它與根路徑匹配。
未經測試!
你有什么靈感來自WordPress? 這是一個壞主意,因為它告訴Apache在重定向之前總是檢查路徑是文件還是目錄。
我有類似的東西
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*/(css|images|javascript)(.*) [NC]
RewriteCond %{REQUEST_URI} !\.(swf|ico|php|xml)$ [NC]
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule (.*) index.php?page=$1&%{QUERY_STRING} [PT]
第一個條件限制此重定向在特定文件夾中工作。 秒針對特定擴展程序。 你可以猜到第三個做了什么:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.