0

これは古典的な .htaccess の質問かもしれませんが、それでも私の特定のケースに関する質問が見つかりませんでした。これが私が見つけた最も近いものです(私の場合はパラメーターが関係します)。2つの回答の実装が完了しました。私の場合はうまくいきませんでした。

私の場合

1) この URL への任意のアクセスが必要です。

mywebsite.com/any-first-segment?param1=a&param2=b&param3=c&paramN=anything

に再マッピングされます

mywebsite.com/index.php?p=any-first-segment&param1=a&param2=b&param3=c&paramN=anything

2) パラメータがない場合でも動作します。

3) 複数のセグメントを持つことはありません。(ゼロ セグメントは引き続き機能し、通常どおり index.php にマップされます)


この場合に有効な RewriteRule を教えていただけますか?

これが最後の .htaccess で、まだ機能していません

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?p=$1 [QSA,L]

【更新しました!】 動いています。これOptions +FollowSymLinksを読んで勘違いしていることに気づきました

これが作業中の .htaccess です。例外あり。

RewriteEngine On
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.+)$ index.php?p=$1 [QSA,L]
4

1 に答える 1

0

QSAルールでフラグを使用すると、現在のクエリ文字列が書き換えられたフォームに追加されます。

于 2013-07-07T06:25:55.753 に答える