0

現在、次の .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/のような URL を public/index.php ファイルに書き換えます。

ただし、 http://domain.com(パスが追加されていない)(ルートにindex.phpがないため、現時点では404が返されます)は書き換えられていません。これを書き換えるためにこの.htaccessを変更するにはどうすればよいですかURLも?

インデックスファイルはpublic/index.phpにあります.htaccessを使用してそのファイルをロードしたい

ありがとう

4

3 に答える 3

1

ルートを書き直すと信じています。次の行に沿って簡単に何かを行うことができます。

RewriteRule ^$ location/of/root/file [L]
于 2012-09-22T20:25:22.673 に答える
1

あなたは試すことができます:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ public/index.php

RewriteBase は、ルール パターンの先頭にスラッシュを追加して、ルート パスと一致させる必要があります。

未テスト!

于 2012-09-22T21:02:28.453 に答える
0

あなたが持っているものは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]

最初の条件は、このリダイレクトが特定のフォルダーで動作することを制限します。秒は、特定の拡張子に対してそれを行います。あなたは3番目が何をするかを推測することができます:)

于 2012-09-22T20:16:49.270 に答える