0

rubular.comでテストした次のリダイレクトルールがあります

^tags\/([a-zA-Z0-9_-]+)\.html

例として使用すると、 /tags/a-led.htmlが返され/tags/a-ledます。この時点まではすべて問題ないように見えますが、htaccessで次のようにルールを適用すると

 RewriteRule ^tags\/([a-zA-Z0-9_-]+)\.html$  /tags/$1 [R,L]

そして他のいくつかのルールは後です

RewriteRule ^(.*)/(d*)-(.*)\.html$  /showthread.php?$1 [R,L]
RewriteRule ^(d*)-(.*)\.html$ /threads/$2 [R,L]

処刑されておらず、残念ながら私には接着剤がありません。理由は何でしょうか。

4

2 に答える 2

0
  1. ルールは問題ないように見えます。Apache のデフォルト インストールで空白の htaccess ファイルに配置すると機能します。
  2. mod_rewrite がロードされていて、書き換えエンジンがオンになっていることを確認してください ( RewriteEngine On)。
  3. 他のルールがある場合は、リダイレクト ルールが内部書き換えまたはルーティングを行うルールの前にあることを確認してください。
  4. htaccess ファイルが読み取り可能であることを確認してください。AllowOverrideサーバー/仮想ホスト構成で適切な設定を行う必要があります。設定AllowOverride Allにより、htaccess ファイル内のすべてが確実に適用されます。
于 2012-10-02T07:19:19.600 に答える
0
RewriteEngine On 
RewriteRule ^tags\/([a-zA-Z0-9_-]+)\.html$  /tags/$1 [R,L]

[R,L]を使用して、このルールの前に他のルールが設定されているかどうかも確認してください。L は、これが一致した場合、これ以上ルールを処理しないように apache に指示します。

于 2012-10-02T07:19:46.140 に答える