2016-03-20 22 views
0

Benim .htaccess şöyle görünür:Neden .htaccess ile mod_rewrite bana 500 hata veriyor?

<FilesMatch ".(eot|ttf|otf|woff|svg)"> 
Header set Access-Control-Allow-Origin "*" 
</FilesMatch> 

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/page?user=%1 [L,QSA,R=302,NE] 

***THIS IS WHERE I INSERT THE NEW RULE*** 

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

Şimdiye kadar iyi. Her şey çalışıyor. Birisi scoobydoo.domain.com'a gittiğinde, örneğin domain.com/page?user=scoobydoo'a yönlendirilirler. Şimdi de birileri www.domain.com/scoobydoo gittiğinde onlar gerçekten domain.com/page?user=scoobydoo gösterilmektedir böylece sayfa maskesi istiyoruz, bu yüzden bu ekleyin: Ben ancak 2 son satırına bu eklediğinizde

RewriteRule ^([^/]*)$ /page?user=$1 [L] 

, değil iş.

Burada sorun ne var?

+0

Yep! Gerçekten çalışır ... – user1996496

cevap

2

Kuralınız Tamam, ama ondan gerçek dosya ve dizinleri dışlamak gerekir:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]*)$ /page?user=$1 [L,QSA] 
+0

Strangely bu bana bir 500 hata veriyor :(Çalışırsa, şu ya da bu kuralları gözden geçirmeye çalışıyorum ... – user1996496

+0

@ num8er - OP alt etki alanı -> sayfa kuralının çalıştığını söyledi. etkin durumda ... –

+0

Garip: Diğer kurallarla uğraşmak yanlış bir şey olmalı, ne olduğunu anlayamıyorum. – user1996496

İlgili konular