.htaccess
ファイルを設定しようとしています。どのように私はこの結果を得るに行くか:.htaccess RewriteRule domain.com/page/page to domain.com?p=page/page
要求:domain.com/page/page
書き換えること:domain.com/index.php?p=page/page
私が試してみた:
RewriteRule ^(.*)$ index.php?p=$1 [L,QSA]
運で。
.htaccess
ファイルを設定しようとしています。どのように私はこの結果を得るに行くか:.htaccess RewriteRule domain.com/page/page to domain.com?p=page/page
要求:domain.com/page/page
書き換えること:domain.com/index.php?p=page/page
私が試してみた:
RewriteRule ^(.*)$ index.php?p=$1 [L,QSA]
運で。
わかりました。私は2つのルールが必要:
RewriteRule ^([a-zA-Z0-9_\\s-]+)(/)?$ index.php?p=$1
RewriteRule ^([a-zA-Z0-9_\\s-]+)/([a-zA-Z0-9_\\s-]+)(/)?$ index.php?p=$1/$2
だけ
RewriteRule ^([a-zA-Z0-9_\\s-]+)(/)?$ index.php?p=$1
でdomain.com/no1/がdomain.com/index.php?p=no1に変換しまうので、私のPHPスクリプトがそれを好きではなかったです/ < ---終了スラッシュを理解していません
このソリューションの問題は、2つの仮想ディレクトリにしか行きませんが、それだけで十分です。 これは私の初めての.htaccess使用ですので、私の理解が不足して申し訳ありません。
は、あなたの.htaccessファイルにこのコードを試してみてください。
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteRule ^(?!index\.php)(.*)$ /index.php?p=$1 [L,NC,QSA]
否定先読みがここに無限ループを回避します。
それはうまくいった。 RewriteRule ^([a-zA-Z0-9_ \] - )+)$ index.php?p = $ 1 RewriteRule ^([a-zA-Z0-9_ \ \ s - ] +)/([a-zA-Z0-9 _ \\ s - ] +)(/)?$ index.php?p = $ 1/$ 2 私のPHPスクリプトは、 RewriteRule ^([a-zA-Z0-9 _ \\ s - ] +)(/)?$ index.php?p = $ 1 domain.com/no1/ domain.com/index.phpに変換されます。 ?p = no1/<---最後のスラッシュを理解できません このソリューションの問題は、2つの仮想ディレクトリだけが深くなっていることですが、それだけで十分です。 これは私の初めての.htaccess使用ですので、私の理解が不足して申し訳ありません。 – Undefined
ページが読み込まれますが、奇妙に見えますが、スタイルシートが正しく読み込まれていない可能性がありますか?私は本当にわからない。 – Undefined
スラッシュを追加してください:RewriteRule^/(。*)$ index.php?p = $ 1 [L、QSA] ロードはOKですが、ページが機能しません。 – Undefined
RewriteRule ^(。*)$ /index.php?p=$1 500サーバーエラー。 – Undefined