0

私が取り組んでいるサイトがあり、mod を書き直したので、URL cuadmemo.com/posts.php?title=abctitle は cuadmemo.com/abctitle.html に書き込みます

私が抱えている問題は、タイトルに ? が付いている場合です。その中をマークします。あなたはリンクをクリックします

http://www.cuadmemo.com/Are You Doing All You Can to Protect Your Members From Wire Fraud?.html 

見つからないと表示されますか?私はそれを知っていますか?問題の原因です。私はphpで書いていて、この形式のリンクを持っています(データベースから引っ張る)

以下は、ステートメントを書くために使用しているphpコードです。

echo "<a name='description' href='http://www.cuadmemo.com/{$row_oneBack['title']}.html'>". $row_oneBack['title'] . '</a>';

私が使用している書き換えコードは

RewriteRule (.*)\.html /posts.php?title=$1  

どんな提案でも大歓迎です。前もって感謝します。

4

2 に答える 2

0

疑問符があるため、?apache はだまされて、次のようなものを作成しようとしていると考えられます$_GET['.html']。したがって、URL はカットされます。

あなたの CMS/php は を見ているよう$_GET['title']です。疑問符が必要な場合は、見て解析する必要があります$_SERVER['REQUEST_URI']

あなたはこれを取ることができます:

# infile .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

次に、次のようにクエリを探します。

http://example.com/test/page?is=ok&has=get-params

// infile: index.php
// var_dump($_SERVER['REQUEST_URI']);
// you will get string '/test/page?is=ok&has=get-params' (length=41)
于 2013-03-22T19:52:02.533 に答える
0

これは Web セーフな URL ではありません。代わりに、次のようにする必要があります。Are_You_Doing_All_You_Can_to_Protect_Your_Members_From_Wire_Fraud.html

于 2013-03-22T19:46:38.340 に答える