2015-04-21 77 views
0

我試圖重定向http://www.example.mehttp://example.me,但由於某種原因,它不起作用。告訴我的.htaccess文件有什麼問題嗎?有人可以幫助我解決這個問題嗎?URL通過.htaccess規範化

<IfModule mod_rewrite.c> 

RewriteEngine On 

SetEnvIfNoCase User-Agent "^libwww-perl*" block_bad_bots 
Deny from env=block_bad_bots 

RewriteCond %{HTTP_USER_AGENT} libwww [NC,OR] 

RewriteCond %{QUERY_STRING} ^(.*)=http [NC] 

RewriteRule ^(.*)$ – [F,L] 

RewriteCond %{HTTP_HOST} ^www\.example\.me$ 
RewriteRule ^/?$ "http\:\/\/example\.me\/「 [R=301,L] 

# Turn on Expires and set default to 0 
ExpiresActive On 
ExpiresDefault A0 

# Set up caching on media files for 1 month 
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> 
ExpiresDefault A2419200 
Header append Cache-Control "public" 
</FilesMatch> 

# Set up 2 Hour caching on commonly updated files 
<FilesMatch "\.(xml|txt|html|js|css)$"> 
ExpiresDefault A7200 
Header append Cache-Control "proxy-revalidate" 
</FilesMatch> 

# Force no caching for dynamic files 
<FilesMatch "\.(php|cgi|pl|htm)$"> 
ExpiresActive On 
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform" 
Header set Pragma "no-cache" 
</FilesMatch> 

</IfModule> 
+0

雙引號se不是問題,但是,在'RewriteRule'替換結尾處似乎有一個奇怪的「引號」(''而不是''') - 這會導致問題,因爲_any_偏移字符 – MrWhite

回答

0

試試這個,也是在規則

+0

它也有效。我發現我的文件存在的問題是引號,並且我修復了。但爲什麼你建議不要在我的規則中使用引號? –

+0

因爲你不需要引號。如果你沒有他們,你就不會有這個問題開始。節省自己的問題,不要不必要地使用它們。此外,如果有人花時間回答你的問題,並幫助你解決問題,「你不應該回答你自己的問題」。人們將來不太可能幫助你。 :) –

+0

我明白你的觀點,巴拿馬傑克。我真的不需要他們。剛從我的.htaccess中刪除。關於回答我自己的問題,我在看到你的答案之前做過了,對此感到抱歉。謝謝你的幫助 :) –

0

不使用引號這是用引號一個問題。下面是正確的.htaccess

錯誤是與最後一個引號

RewriteRule ^/?$ "http\:\/\/example\.me\/" [R=301,L] 

這條線下面你可以查看完整的正確的.htaccess文件每

<IfModule mod_rewrite.c> 

RewriteEngine On 

SetEnvIfNoCase User-Agent "^libwww-perl*" block_bad_bots 
Deny from env=block_bad_bots 

RewriteCond %{HTTP_USER_AGENT} libwww [NC,OR] 

RewriteCond %{QUERY_STRING} ^(.*)=http [NC] 

RewriteRule ^(.*)$ – [F,L] 

RewriteCond %{HTTP_HOST} ^www\.example\.me$ 
RewriteRule ^/?$ "http\:\/\/example\.me\/" [R=301,L] 

# Turn on Expires and set default to 0 
ExpiresActive On 
ExpiresDefault A0 

# Set up caching on media files for 1 month 
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> 
ExpiresDefault A2419200 
Header append Cache-Control "public" 
</FilesMatch> 

# Set up 2 Hour caching on commonly updated files 
<FilesMatch "\.(xml|txt|html|js|css)$"> 
ExpiresDefault A7200 
Header append Cache-Control "proxy-revalidate" 
</FilesMatch> 

# Force no caching for dynamic files 
<FilesMatch "\.(php|cgi|pl|htm)$"> 
ExpiresActive On 
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform" 
Header set Pragma "no-cache" 
</FilesMatch> 

</IfModule>