2013-04-23 29 views
1

的代碼行:的WordPress htaccess的並沒有改變網址,只是去到404

RewriteRule ^/test/(.*)/?$ http://test.com/test/index.php?route=$1 [L,QSA] 

已在htaccess文件沒有影響我使用:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
RewriteRule ^/test/(.*)/?$ http://test.com/test/index.php?route=$1 [L,QSA] 

</IfModule> 

# END WordPress 

當我訪問我的域名。 com/test/123,Wordpress重定向到404頁面而不是新鏈接。 我曾嘗試移動htaccess文件中的項目,以防它們被覆蓋,但不是運氣。有任何想法嗎?

回答

1
  • 問題1:RewriteRule與引導斜槓不匹配。

  • 問題2:重寫規則的順序錯誤。

這裏是固定的版本:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteRule ^test/(.*)/?$ http://test.com/test/index.php?route=$1 [L,QSA,NC] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 
+0

謝謝你的作品。 – scott 2013-04-23 15:26:41

+0

不客氣,很高興它解決了。 – anubhava 2013-04-23 15:32:06

+0

你知道爲什麼當我改變: RewriteRule^test /(.*)/?$ http://test.com/test/index.php?route=$1 [L,QSA,NC] to RewriteRule^test /(.*)/?$ /test/index.php?route=$1 [L,QSA,NC]它不再起作用(基本上它與外部域一起工作,但是指的是我的服務器上的站點... – scott 2013-04-23 16:37:03