0

ローカル サーバー (XAMPP) から Web サイトをアップロードしました。ローカルでは動作していましたが、なんらかの理由で index.php を SEF URL に追加するための書き直しが公開サーバーでは動作しません。これは私が今持っているものです:

# Avoid listing directory
Options -Indexes

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on

# manage language segment 
RewriteRule ^(es|en)/(.*) $2?lang=$1 [L]

# code that allows to get rid of index.php from URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

</IfModule>

これらの URL の機能:

www.example.com

www.example.com/index.php/aboutme

このような URL は500 エラーを生成します。

www.example.com/aboutme

index.php の削除を解決するために試みた条件とルールの別の組み合わせを次に示します。

RewriteCond $1 !^(index.php|css|img|scripts|ckeditor|robots.txt|sitemap.xml) 
RewriteRule ^(.*)$ index.php/$1 [L]

ただし、ルート URL www.example.com を含め、index.php のない URL に対しては 500 エラーが生成されます。

これを修正するのを手伝ってもらえますか?

4

1 に答える 1

2

RewriteRule にタイプミスがあるようです。

これを試して:

RewriteCond $1 !^(index.php|css|img|scripts|ckeditor|robots.txt|sitemap.xml) 
RewriteRule ^(.*)$ /index.php/$1 [L]

Code Igniter で動作します。唯一の違いは、2 番目の例と比較した場合の index.php の前のスラッシュです。

于 2013-01-22T20:46:28.020 に答える