0

作成したばかりのサイトにかなりのパーマリンク システムを設定しようとしていますが、何も効果がありません。パーマリンク構造を使用しようとすると、500 エラーが発生するか、パーマリンクが機能しないか、CSS と画像へのすべてのリンクが壊れますが、それでも 404 が表示されます。

ここに私の .htaccess コードがあります:

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /main/index.php?act=$1&sub=$2&id=$3 [L]

index.php?act=admin&sub=edit-product&id=5間にリンクを含めながら、のようなリンクを変換したい/admin/edit-product/5。たとえば、URL に ID 呼び出しがあり、sub 呼び出しがない場合でも機能します。

どんな助けでも大歓迎です。

アップデート:

追加RewriteBase /しましたが、現在何かを行っていますが、パーマリンクが正しく機能していません。

書き換えられた URL が実際にどこを指しているかを調べる方法はありますか?

すべての書き換えルールを使用する完全な URL は機能するようですが、それらの一部のみを必要とする URL は機能しません。

4

1 に答える 1

1

私はこの .htaccess コードをプロジェクトの書き換えに使用します。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

このコード パスは (静的ファイルなどに対する) リクエストをそのまま存在させますが、他のすべては index.php にリダイレクトします。使用可能な uri を int PHP として要求する

$_REQUEST['REQUEST_URI']

PHP では、私たち (または私たちのフレームワーク) がそれを好きなように解析できます。

于 2013-05-07T16:59:47.633 に答える