2016-05-07 17 views
1

=>.htaccessファイル

deploy_email.phpファイル現在の名前がありThis is my folder structure

これは私の.htaccessコード

<IfModule mod_rewrite.c> 
RewriteEngine on 
AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

RewriteCond %{THE_REQUEST} ^[A-Z](3,)\s([^.]+)\.php [NC] 
RewriteRule ^%1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*?)/?$ $1.php [NC,L] 
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?/] [NC] 
RewriteRule^/%1%2 [R=302,L,NE] 
</IfModule> 

問題は、私がしたいです拡張子でアクセスするdeploy_email.phpファイルとファイル拡張子の残りの部分を非表示にする必要があります。

点検しながら、私は上記の.htaccessのコードを使用している場合、私はあなたがここに=>This here

を見ることができるようにデータがdeploy_mail.phpによって取得されていないことがわかったいくつかのソリューションを提供してください。

+1

この行を追加して再度確認してください。RewriteRule^deploy_emai.php?$ deploy-email.php [NC、L] –

答えて

0

Rフラグを使用して外部リダイレクションを実行している間にPOSTデータが失われます。 1つのファイルだけでなく、リダイレクトルールからのすべてのPOSTリクエストをスキップする必要があります。これで

置き換えご示されているコードのすべて:

RewriteEngine on 

AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/webm .webm 

# redirect only all requests except POST 
RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.(?:php|html?)[\s?/] [NC] 
RewriteRule^/%1%2 [R=302,L,NE] 

RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 

RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.+?)/?$ $1.html [L] 

RewriteCond %{REQUEST_FILENAME}.htm -f 
RewriteRule ^(.+?)/?$ $1.htm [L] 

クリアブラウザのキャッシュと再テスト。

+1

あなたのコードは完璧に機能しています。コード:):D –

+0

.htmlファイルと.htmファイルで同じことをする必要がある場合はどうすればいいですか? @anubhava –

+0

.jspやその他の拡張機能を追加する必要がある場合はどうしたらいいですか? –