2012-03-01 17 views
-1

のルールを無視します:htaccessの書き換え - 私は、次のhtaccessのコードでウェブサイトを持って、特定のURL構造

RewriteEngine on 

# 
# Externally redirect direct client requests for index page filepaths to “/” URLs 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/\ ]+/)*index\.(php|html?)\ HTTP/ 
RewriteRule ^(([^/]+/)*)index\.(php|html?)$ http://www.mydomain.com/$1 [R=301,L] 
# 
# Externally redirect direct client requests to remove file extensions from obsolete inbound links 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/\ ]+/)*([^.\ ]+\.)+(php|html?)\ HTTP 
RewriteRule ^(([^/]+/)*[^.]+)\.(php|html?)$ http://www.mydomain.com/$1 [R=301,L] 
# 
# 

# Externally redirect non-canonical hostname requests to canonical hostname 
RewriteCond %{HTTP_HOST} !^(www\.mydomain\.com)?$ 
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] 
# 
# 

# Internally rewrite URLs requested with no filetype to php scripts 
# unless the requested URL resolves to an existing directory or file. 
RewriteCond %{REQUEST_URI} !(\.[^./]+)$ 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /$1.php [L] 

をそれは完璧に動作します(それが何をするか疑問に思っているもののために、それはWWWのドメイン、削除の.htmlを強制的に/.php拡張と自動的に無拡張のURLに拡張子を持つURLをリダイレクト)今

良いもの:。

私が動的ページを作成しました:

www.mydomain.com/opinion?name=namehere 
私はこのURLを書き換えることを希望

と力へ:

RewriteRule ^opinion-([A-Za-z])$ /opinion.php?name=$1 

しかし、それはちょうど私に「要求されたURLを/与える:

www.mydomain.com/opinion-namehere 

私は、上記のhtaccessのコードにこれを追加してみましたこのサーバーでopinion-namehere.phpが見つかりませんでした。存在しない私の元のコードでそのURLをPHPにリダイレクトしているので意味があります。

私はこの仕事をすることができますか?その特定のURL構造(/opinion.php?name)のルールを無視する可能性がありますか?

ありがとうございます!

サンフランシスコ

答えて

0

このルールを追加します。

RewriteRule ^opinion-([A-Za-z]+)$ /opinion.php?name=$1 [L] 

RewriteCond %{REQUEST_URI} !(\.[^./]+)$ 

上記クリア上記をしようとする前に、ブラウザのキャッシュ。

関連する問題