0

私の URL は次のようになります。

http://127.0.0.1/website/comments.php?topic_id=16

私はそれを次のようにしたい:

http://127.0.0.1/website/comments/my-news-article/16.php

これを適用しました

RewriteEngine on
RewriteRule ^comments/([a-zA-Z0-9_-]+)/([0-9]+)\.php$ comments.php?id=$2

Rewrite_moduleApacheでもオンにしました。

しかし、それは機能していません。

4

2 に答える 2

1

常に URL パス全体を考慮してください。あなたには /website が含まれているので、次のようになります。

RewriteEngine on
RewriteBase /website
RewriteRule ^comments/([a-zA-Z0-9_-]+)/([0-9]+)\.php$ comments.php?id=$2
于 2012-09-13T20:57:30.310 に答える
0

RewriteBase は、ディレクトリごとのディレクティブに使用されます。試す

RewriteEngine on
RewriteRule ^/website/comments/([a-zA-Z0-9_-]+)/([0-9]+)\.php$ /website/comments.php?topic_id=$2

私のために働きます。行末のクエリ文字列パラメーターも「topic_id」に変更したことに注意してください。多分これはエラーの別の原因です。それでも失敗する場合は、構成が正しい仮想ホスト構成にあることを確認してください。

于 2012-09-13T22:31:47.193 に答える