0

mod_rewrite に少し問題があります。以前の litespeed VPS では問題なく動作していました。現在、CentOS 6 を実行している独自の専用サーバーを使用しているため、正しく構成されていないかどうかはわかりません。

これは現在の外観です。

http:// * ** .com/?pageName=FourthPage

これは私がそれをどのように見せたいかです:

http:// * ** .com/FourthPage

これは私の現在の .htaccess ファイルです:

RewriteEngine On

RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule ^([^/\.]+)/?$ index.php?pageName=$1
4

1 に答える 1

1

htaccess構文が苦手です。このようなルールの構成は、アクセスできる場合はサーバー構成で直接行う必要があります。このような目的で htaccess を使用することは、回避策にすぎません。でも:

RequestRule 内のパターンが間違っています。特に末尾のスラッシュ ('/')。合わせるってどういうこと?そのルールのドキュメントをもう一度読みたいと思うかもしれません。パターンは完全な URL に対しては照合されませんが、htaccess の場合はパスの一部に対してのみ照合されます。

以下を試してみてください。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ index.php?pageName=$1

また、サーバー内で書き換えログを有効にする必要があります。関連する構成オプションは、RewriteLog (ファイル用) と RewriteLogLevel (まあ、レベル用) です。書き換えモジュール内で何が起こっているかを理解するのに役立ちます。ただし、htaccessでもそれを行うことはできません。サーバーの一般的な構成にアクセスする必要があります。

于 2012-09-27T14:53:49.580 に答える