1

コンテンツを表示する「p」パラメーターを取得する動的ページがあります。

m.mydomain.com/index.php?p=key

ある種のきれいなURLが欲しいです。

これは私の実際のhtaccessです:

AddType x-mapp-php5 .php

RewriteEngine On
RewriteRule ^(.*)/$ index.php?p=$1 [QSA,L]

それで:

m.mydomain.com/key -> doesn't work (404 page)
m.mydomain.com/index/key -> blank page

m.mydomain.com/key を取得するには?

私を助けてください、私は夢中になります!!!

4

2 に答える 2

0
RewriteEngine On
RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]

私はテストして働いています

于 2012-12-07T11:50:12.803 に答える
0

問題の 1 つは、RewriteRule が index.php への直接呼び出しをキャッチし、リダイレクトしようとすることです。

m.mydomain.com/index.php 

m.mydomain.com/index.php?p=index.php

次のような別の書き換えルールで「index.php」パスを最初にキャッチすることで、これを防ぐことができます。

RewriteRule ^(index.php) - [L]

しかし、その欠如があなたの問題を引き起こしているとは思いません。別の .htaccess または Web サーバー構成ファイルに別のルールがあり、干渉している可能性がありますか? 以下の点で問題がなかったので質問します。

# .htaccess
RewriteEngine On
RewriteRule ^(index.php) - [L]
RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]

注: AddType x-mapp-php5 .phpを取り出したのは、セットアップで機能していなかったためです。それがあなたの問題に関連しているかどうかはわかりませんが、How to support "AddType x-mapp-php5 .php" on my development machineで提案されているように、安全のために<IfModule>でラップすることをお勧めします。

それをすべて組み合わせると、これは(また)私にとってはうまくいきました:

# .htaccess
<IfModule !mod_php5.c>
AddType x-mapp-php5 .php
</IfModule>

RewriteEngine On
RewriteRule ^(index.php) - [L]
RewriteRule ^(.*)$ index.php?p=$1 [QSA,L]
于 2012-12-07T12:01:42.927 に答える