2016-09-28 86 views
0

清潔URL僅適用於index.php,但不適用於其他頁面(探索和頂部)。 我想要「乾淨」的參數是'genre'(例如:genre = pop)。這是網站:swiftlymusic.com,並託管在「1(1and1 oneandone)」服務器上。
的.htaccess:清理URL - .htaccess

ErrorDocument 404 /04.html 

RewriteBase/


RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^log$ logs [L] 
RewriteRule ^([a-zA-Z0-9]+)$ ?genre=$1 [L] 
RewriteRule ^([a-zA-Z0-9]+)/$ ?genre=$1 [L] 
RewriteRule ^explore/([a-zA-Z0-9_-]+)$ explore.php?genre=$1 [L] 
RewriteRule ^top/([a-zA-Z0-9_-]+)$ top.php?genre=$1 [L] 

AddDefaultCharset UTF-8 

回答

0

您是否嘗試過重新排序,使「explore.php」和「top.php」線是普通線之上?另外,你可以使用'?'而不是重複該行兩次:一次,一次沒有正斜槓。

RewriteRule ^explore/([a-zA-Z0-9_\-]+)/?$ explore\.php?genre=$1 [L] 
RewriteRule ^top/([a-zA-Z0-9_\-]+)/?$ top\.php?genre=$1 [L] 
RewriteRule ^([a-zA-Z0-9]+)/?$ ?genre=$1 [L] 
+0

我嘗試過,但沒有改變... –

+0

我能看到的唯一的另一件事是逃離。用'\ .',看我編輯的答案。 – sdexp

+0

仍然沒有變化,我添加了附近的流派導航欄爲您查看完整的網址的結果。 –

0

嘗試像這樣,

Options -Multiviews 
ErrorDocument 404 /04.html 

RewriteBase/

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^log$ logs [L] 
RewriteRule ^([\w-]+)$ ?genre=$1 [L] 
RewriteRule ^([\w-]+)/$ ?genre=$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
#explore & top and any other can be use by this 1 rule 
RewriteRule ^([\w]+)/([\w-]+)$ $1.php?genre=$2 [QSA,L] 
+0

也沒有工作.. –

+0

哪個規則不起作用! –

+0

正如你可以看到swiftlymusic.com/pop作品和流派導航欄顯示流行,但swiftlymusic.com/explore/pop不起作用 - 流派導航顯示「全部」。 –