2017-05-09 10 views
1

特定のファイルではなく、get変数でURLを書き換える可能性はありますか?id .htaccessの書き換え規則

変更

http://example.com/{something}?id=1 

へ:

http://example.com/{something}/id/1 

またはWordのIDなし:

http://example.com/{something}/1 

これは私がこれまでに得たものである:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]+)/$ $1.phtml 
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.phtml 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 

これで私は拡張子.phtmlを取り除くことができました

私はそこに具体的な答えがあることを願っています!

+0

正しい質問をしてください:置換のパターンの一致部分を使用することは可能ですか?答えは「はい」です。 – CBroe

+0

@CBroe私は質問とどちらの答えも理解していません。あなたが話しているこの文書はどこにありますか? – joostdelange

+0

どのように使用したい技術のドキュメントをチェックして_started_していないのですか? http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule – CBroe

答えて

0

私はあなたがルールが競合していないことを確認する必要があり、

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w-]+)/id/([\d]+)$ $1.php?id=$2 [L] #with id in between 

または

RewriteRule ^([\w-]+)/([\d]+)$ $1.php?id=$2 [L] #without id in between 

をPHPファイルにするために何かを想定しています。

+1

ありがとう!これは魅力のように機能します。正しい答えとしてマークする。 – joostdelange

+0

数値でのみ可能ですか? – joostdelange

+0

式中の '\ d'はすでにnumberだけを許可しています。 –