簡體   English   中英

.htaccess對其他文件的所有請求

[英].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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM