2017-03-10 142 views
0

我使用Laravel,所以我重寫規則重定向到index.php,我有規則重定向到www和https也是如此。htaccess獲取https文件夾排除重寫規則

我想URI 「/博客」 不被重定向到的index.php,但我需要它想:

https://www.example.com/blog

實際上它重定向到:

example.com/blog 

becouse這規則RewriteCond $1 !^(blog)排除它形成重寫規則

這是我的規則:

<IfModule mod_rewrite.c> 
RewriteBase/
<IfModule mod_negotiation.c> 
    Options -MultiViews 
</IfModule> 

RewriteEngine On 

RewriteCond $1 !^(blog) #I need this to get www and https but not further rules 

# To https 
RewriteCond %{REQUEST_SCHEME} !https 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

# To www if is not a subdomain 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteCond %{HTTP_HOST} !^(.*)\.(.*)\. [NC] 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

# Redirect Trailing Slashes If Not A Folder... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

回答

1

如果你想blog/index.php重寫跳過然後改變過去的規則是:

# Handle Front Controller... 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule !^blog(/.*)?$ index.php [L,NC] 
+0

@kikerrobles:難道這項工作呢? – anubhava

+0

我想是這樣,但該URL是一個WordPress的博客。最初我沒有重定向,我仍然離開example.com/blog(沒有https或www)。 我配置了WP htaccess,現在它工作。 起初它給了我一個500錯誤,如果我沒有把'RewriteCond $ 1! ^(博客)',現在我刪除了這個和你的輸入,它的工作原理。我不知道爲什麼,但我不抱怨。 – kikerrobles

+0

很高興知道它有幫助,[您可以點擊答案左上角的勾號**標記答案](http://meta.stackexchange.com/a/5235/160242) – anubhava