0

これは多くの質問があることを認識しており、非常に多くの異なるバリエーションを試しているのを見てきましたが、うまくいかず、何が間違っているのかわかりません。404エラーページを指すように.htaccessファイルをずっと前に作成しましたが、これはうまくいきましたが、多くの投稿があり、乱雑になっているため、サイトのURLを書き直したいと思いますURL 内のすべての変数を使用します。私は1つの変数を渡されるviewpost.phpというページを持っています(他のページもありますが、これは例です)viewpostは1つの変数を渡されるので、 /viewpost.php?ID=10 になります

RewriteEngine on
RewriteRule viewpost-ID-(.*)\.htm$ viewpost.php?ID=$1   

これらの2行をhtaccessファイルに追加しました。ファイルから404コードを削除して保存しようとしましたが、機能しませんでした。このコードを .htaccess ファイルに追加する以外に何かする必要がありますか? サイトは現在 atspace でホストされています

Hosting OS  Proprietary *nix
Perl version    5.8.4
MySQL version    5.1
Perl path   /usr/bin/perl
Sendmail path   /usr/local/bin/sendmail
CGI-BIN path    not required    (You can run CGI, Perl scripts from any domain/subdomain folder)
Perl Modules    2900+ installed modules    (Click here to view the full list)
PHP Version  5.2.17 Change
PHP.INI Edit
PHP Info    [View PHP5.2.17 Info] [View PHP5.3.6 Info]
Directory Protection     Enabled  

これは、ホスティング設定ページに書かれているものです。URLを書き換えることができるようにするために必要なものはわかりませんが、.htaccessファイルは現在404ページで機能しているため、セットアップがうまくいくと思いますか?

4

1 に答える 1

1

ファイル内の他のルールがルール.htaccessを上書きしている可能性があります。または、大文字と小文字を区別する問題が発生している可能性があります。[NC,QSA,L]行末に追加しRewriteRuleます。

RewriteEngine On
RewriteRule viewpost-ID-(.*)\.htm /viewpost.php?ID=$1 [NC,QSA,L]

NC大文字と小文字を区別せQSAず、余分なクエリ文字列パラメーターを宛先 URL に追加し、現在の URL と一致する場合はLそれ以上のエントリの処理を停止するように Apache に指示します。RewriteRule

于 2013-01-08T19:03:26.550 に答える