2016-08-04 25 views
0

我的根.htaccess文件有問題。HTACCESS條件和/或重寫不起作用

這是我的.htaccess文件:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/

# START 
RewriteRule ^$ index.php [QSA,L] 

# PAGE 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{HTTP_HOST} !category 
RewriteRule ^([A-Za-z0-9_-]+)/?$ index.php?page=$1 [QSA,L] 

# POST 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{HTTP_HOST} !category 
RewriteRule ^([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/?$ index.php?page=$1&post=$2 [QSA,L] 

# CATEGORY 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteCond %{HTTP_HOST} category 
RewriteRule ^category$ category.php [QSA,L] 

# SINGLE CATEGORY 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^category/([A-Za-z0-9_-]+)/?$ category.php?category=$1 [QSA,L] 

# XML SITEMAP 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^sitemap\.xml$ sitemap.php [L] 
</IfModule> 

當我嘗試去

www.pixel-factory.at/category

,結果我得到一個空的「頁面」。這意味着它進入

www.pixel-factory.at/index.php?page=category

(不存在),而不是去

WWW .pixel-factory.at/category.php

請別人幫忙,不能完成它。謝謝!

+0

還是一樣... –

回答

0

可以重構條件,以更短的代碼,到處卸下RewriteCond %{HTTP_HOST} category條件和重新排序規則,以保持通用的規則到底:

DirectoryIndex index.php 
RewriteEngine on 
RewriteBase/

# XML SITEMAP 
RewriteRule ^sitemap\.xml$ sitemap.php [L] 

# skip all rules from existing files or directories 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

# CATEGORY 
RewriteRule ^category/?$ category.php [NC,L] 

# SINGLE CATEGORY 
RewriteRule ^category/([\w-]+)/?$ category.php?category=$1 [NC,QSA,L] 

# search term 
RewriteRule ^search/([\w-]+)/?$ search.php?search=$1 [NC,QSA,L] 

# PAGE 
RewriteRule ^([\w-]+)/?$ index.php?page=$1 [QSA,L] 

# POST 
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?page=$1&post=$2 [QSA,L] 
+0

謝謝你,我給它是一個嘗試!這個'(\ w +)'代表什麼? –

+0

'\ w'與'[a-zA-Z0-9_]' – anubhava

+0

相同但我還需要連字符?爲什麼我必須在類別重寫中使用NC標誌? –