2015-08-15 17 views
1

前幾天我改變了我的.htaccess文件中的一些東西,剛纔注意到URL中的括號現在已經搞亂了。相反的:.htaccess mod_rewrite正在搞亂我的URL中的括號[]

url.com/admin/page?delete[]=12345&reasons[]=2

的網址顯示爲:

url.com/admin/page?delete%255B%255D=12345&reasons%255B%255D=2

可能是什麼造成的?這是我的.htaccess文件。這讓我瘋狂!

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+?)/$ /$1 [R=302,L,NE] 

RewriteRule ^admin/page/?$ admin/page.php [L,NC] 

RewriteCond %{THE_REQUEST} \ /(.+)\.php 
RewriteRule^/%1 [L,R=301] 

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] 
RewriteRule ^.* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^(.*?)\.(www\.)?domain\.com$ [NC] 
RewriteRule ^.*$ https://www.domain.com/profile?user=%1 [L,QSA] 


RewriteRule ^([^/]*)-([0-9]+)\.html$ product?name=$1&id=$2 [L,QSA] 

ErrorDocument 400 /errors/400.php 
ErrorDocument 401 /errors/401.php 
ErrorDocument 403 /errors/403.php 
ErrorDocument 404 /errors/404.php 
ErrorDocument 500 /errors/500.php 

回答

1

讓你的規則是這樣的:

ErrorDocument 400 /errors/400.php 
ErrorDocument 401 /errors/401.php 
ErrorDocument 403 /errors/403.php 
ErrorDocument 404 /errors/404.php 
ErrorDocument 500 /errors/500.php 

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+?)/$ /$1 [R=302,L,NE] 

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302,NE] 

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=302,L,NE] 

RewriteCond %{THE_REQUEST} \ /(.+)\.php 
RewriteRule^/%1 [L,R=302,NE] 

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^(.*?)\.(www\.)?domain\.com$ [NC] 
RewriteRule ^.*$ https://www.domain.com/profile?user=%1 [L,QSA,R=302,NE] 

RewriteRule ^([^/]+)-([0-9]+)\.html$ product?name=$1&id=$2 [L,QSA] 

RewriteRule ^admin/page/?$ admin/page.php [L,NC] 
  • 保持重寫之前重定向規則,並在每個重定向規則中使用NE標誌。
  • 確保在測試之前清除瀏覽器緩存。
+1

非常感謝!我只是測試它,它完美的作品。你真的救了我! :) – user1227914