2016-05-23 37 views
-1

私はhtaccessコードではとても新しいです。私は www.mydomain.com/product/printer と www.mydomain.com/faq.phpからパラメータなしで他のすべてのURLへの www.mydomain.com/product.php?p=Printer を書き換えたいです彼らは働いていない理由を私は私は私の自己コードの上に作られているhtacess拡張子を削除してサブフォルダとして書き直すURLを書き直します

Options +FollowSymlinks 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)\.html$ $1.php [nc] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-zA-Z0-9_-]+)$ product.html?p=$1 

を試してみましたが、何www.mydomain.com/faq は、thatsの。

+1

これまでの結果(つまりデバッグトレース)は分かりましたか? – davidhood2

+1

なぜ、どのようにルールが機能しないのですか? –

答えて

0

まず、.htaccessの.htmlファイルを書き換えていますが、PHPを使用していますので、このコード行を追加してすべてのページから.phpを削除してください。 内部リンク)

RewriteRule ^([^\.]+)$ $1.php [NC,L] 

は、このコードはproduct.phpを気に取るべき?P =プリンタ

RewriteRule product/?([a-zA-Z-]+) product.php?id=$1 

(ここでも、すべての内部から製品/プリンターにproduct.php?p =プリンタを変更しますリンク)

product.phpページで、すべてのリンクにproduct /を追加する問題を取り除くためにベースタグを追加する必要があります。 htmlのheadセクションでこのコードを入力してください

<base href="http://your_domain/"> 
+0

おかげでKinggeov。最初のルールは良いことをしています。しかし、product.phpの2番目のルールは機能しません。それはウェブサイトの読み込みを開始し、数分かかるが、読み込みが完了していない。私は以下の方法でwww.mydomain.com/product/Printerを確認しました –

+0

また、ページ上のすべてのリンクの最初にproduct /を追加しました。 www.mydomain.com/product/new-pageなど –

+0

ブラウザのキャッシュをクリアしてもう一度お試しください。私はそれをテストし、それは働いています。あなたができる場合は、すべての.htaccessファイルを投稿することができます。問題の原因となる他のルールがあるかもしれません。 – Kinggeov

関連する問題