私はApacheを使って挑戦しています。私の.htaccessファイルでHtaccess URL書き換え質問
私はこのような要求を変換したい:
URL /ポートフォリオ/ファイル名.htm
へ:?
URL、ファイル名
任意の受験者を?あなたの時間に感謝します
私はApacheを使って挑戦しています。私の.htaccessファイルでHtaccess URL書き換え質問
私はこのような要求を変換したい:
URL /ポートフォリオ/ファイル名.htm
へ:?
URL、ファイル名
任意の受験者を?あなたの時間に感謝します
私はそれをテストしていませんが、このような何かがうまくいくはずです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)/portfolio/(.*)\.htm$ $1?$2 [PT,L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
アレック、素早く対応いただきありがとうございます。私はそれを試して、それは動作していないように見えるので、私は正規表現のテスターを使用して何が起こっているかもしれない参照してください...これとデリミタの衝突の可能性はありますか? Thx D –
あなたは、訪問者(および検索エンジン)にURLをどのように表示させるかによって、いくつかの選択肢があります。
外部から見えるURLをurl/portfolio/filename.htm
のままにする場合は、2つのRewriteCond
行を削除した後、Alecのソリューションが機能しました。
RewriteEngine On
RewriteRule ^(.*)/portfolio/(.*)\.htm$ $1?$2 [PT,L]
他のパラメータは、クエリ文字列にすることができ、あなたはそれらを保持したい、ルールの最後に括弧内のオプションにQSA
を追加した場合。
あなたは外の人々が、代わりにurl?filename
を参照してくださいにルールを変更する場合:適用され、他のクエリパラメータについて
RewriteRule ^(.*)/portfolio/(.*)\.htm$ $1?$2 [L,R]
同じ資格。
これでも問題が解決しない場合は、書き換えログを有効にして、そのログでさらなるヒントを探してください。ここに掲示すれば誰かが助けになるでしょう。この部分はhttpd.conf
に入れなければならないかもしれません。私のApacheは.htaccess
でそれを気に入らなかった。
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^portfolio/(.+)\.htm$ index.php?$1 [NC,L]
をしたり、目に見えて、それを変更したい場合:
RewriteLog ...path...
RewriteLogLevel 3 # you'll regret anything higher
これは動作するはず
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^portfolio/(.+)\.htm$ /?$1 [R,NC,L]
は、第1には、へexample.com/?filenameようになります。最初のユーザーはexample.com/portfolio/filename.htmのようになります。
希望に役立ちます。
もう少し具体的にしてください。あなたの例では「URL」は何を意味していますか?そして、「ポートフォリオ」は固定ですか? – Gumbo