1

私のサイトにはさまざまなリンクがあり、それらはすべてPHPMySQLクエリを介して生成されます。したがって、1つのページで、結果が大量に表示される可能性があります。1つクリックすると、次のように表示される場合があります。

... /ector.php?county=ケント

ただし、書き換えルールがあります

RewriteEngine On
RewriteRule ^county/([^/]*)\.html$ /sector.php?county=$1 [L]

しかし、それでもリンクをクリックすると、次の代わりに上記が表示されます。

http://sitename.co.uk/county/Kent

私は何か間違ったことをしていますか?これは、フォーマットが間違っている場合に備えて、.htaccessファイルの先頭です。他のすべてが機能します。:

RewriteEngine On
RewriteRule ^county/([^/]*)\.html$ /sector.php?county=$1 [L]
AuthName "Restricted Area" 
AuthType Basic 
AuthUserFile /customers/6/c/d/sitename.co.uk/httpd.www/...
AuthGroupFile /dev/null 
<Files site.php>
require valid-user

...明らかに、それだけではありません。彼が構造化するだけです。

新しいリンクに手動で誘導した場合でも...郡/ケント私は404を取得します

4

2 に答える 2

2

Mod_rewrite は、出力したリンクを変更しません。着信リクエストをある URL から別の URL に変更するだけです。その URL がどのように解釈されるかは、アプリケーション次第です。href='/county/xxx' の形式でリンクを出力するかどうかは、あなた次第です。アプリケーションのコーディング方法に依存するため、この時点でこれを行う方法を答えることができるのはあなただけです。

/county/Keny に移動しようとしたときに 404 が発生する理由は、おそらく、.htaccess ファイルの一致ルールに .html を含めているためです。最初の例のルールにはありませんが、サンプルの .htaccess ファイルにはあります。

于 2012-07-05T10:30:33.350 に答える
0

HTMLのリンクURLを書き直す必要があります。

于 2012-07-05T10:06:36.280 に答える