0

Module rewrite を使用して動的 URL を生成しようとすると、m が何か間違ったことをしてサーバー エラーが発生したようです。サーバーで内部エラーが発生しました。このコードを使用しました

<IfModule mod_rewrite.c>
 #Enable mod_Rewrite
 RewriteEngine on
 RewriteBase /project
 RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html?)\ HTTP
 RewriteRule ^(.*)index\.(php|html?)$ $1 [R=301,L]
 </ifModule>

プロジェクトは C:/project にエイリアスされており、目的を達成するためのポインタはありますか?? m apche 2.4 を使用している場合、.htacess をプロジェクト フォルダーに保存する必要がありますか?? またはconfフォルダー?? 私はこのような何かを達成したい

localhost/project/index.php?departmentId=2/
localhost/project/science-d2/

どちらも同じページをロードする必要があります

4

2 に答える 2

0

次のような無限ループを使用しています: Apache が設定ファイルで次のように設定されているとします:

DirectoryIndex index.php index.html index.cgi index.pl index.xhtml

書き換えルールにより、次の結果になる可能性があります。

/project/index.php => /project => /project/index.php => /project => ...

この場合、書き直す必要はありません。したがって、ここでの解決策は、すべての指示をコメントアウトすることです。

#<IfModule mod_rewrite.c>
# #Enable mod_Rewrite
# RewriteEngine on
# RewriteBase /project
# RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html?)\ HTTP
# RewriteRule ^(.*)index\.(php|html?)$ $1 [R=301,L]
#</ifModule>
于 2013-11-01T13:50:20.240 に答える
0

Apache 2.4 を使用しているので、置き換え<IfModule mod_rewrite.c>てみてください<IfModule rewrite_module>

したがって、最終的なコードは次のようになります。

<IfModule rewrite_module>
    #Enable mod_Rewrite
    RewriteEngine on
    RewriteBase /project
    RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html?)\ HTTP
    RewriteRule ^(.*)index\.(php|html?)$ $1 [R=301,L]
</ifModule>

もちろん、rewrite_module実際にロードされるように、.conf ファイルでコメントアウトしてください。

于 2016-03-14T18:42:42.753 に答える