2016-08-07 74 views
2

我有一个名为car-details.php的文件,它将变量id =与汽车注册详细信息一起填充到页面中。让htaccess忽略Url的一部分

我目前能得到这个重写规则工作

RewriteRule ^car-for-sale/(.*) car-details.php?id=$1 [NC,L] 

但我想有一个像

/GV09LBX/Ford-car-something-etc 

一个网址,但由于某种原因,我只是无法得到的第二部分网址工作。我跟着一些导游为了第二部分低于

RewriteRule ^car-for-sale/(.*)/(.*) car-details.php?id=$1&something=$2 [NC,L] 

哪里的东西= $ 2甚至没有使用的汽车details.php文件添加到URL的例子,但我只是想有车名在用于seo目的的url中。每当我尝试添加第二个正斜杠时,重写规则就停止工作。任何帮助?下面

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^car-for-sale/(.*)/(.*) car-details.php?id=$1&something=$2 [NC,L] 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 

# END WordPress 



# Wordfence WAF 
<IfModule LiteSpeed> 
php_value auto_prepend_file '/home/shipley/public_html/wordfence-waf.php' 
</IfModule> 
<Files ".user.ini"> 
<IfModule mod_authz_core.c> 
    Require all denied 
</IfModule> 
<IfModule !mod_authz_core.c> 
    Order deny,allow 
    Deny from all 
</IfModule> 
</Files> 

回答

0

您必须使用锚

完全htaccess文件在你的模式:

RewriteRule ^car-for-sale/([^/]+)/([^/]+)/?$ car-details.php?id=$1&something=$2 [NC,L,QSA] 

RewriteRule ^car-for-sale/([^/]+)/?$ car-details.php?id=$1 [NC,L,QSA] 
+0

复制和粘贴的是其中使用的旧规则来定。 /car-for-sale/GV09LBX作品 但是/ car-for-sale/GV09LBX/randomText仍然返回到主页 –

+0

我已经在我的Apache上测试了这2条规则,并且都是'/ car-for-sale/GV09LBX/randomText'和'/ car-for-sale/GV09LBX'正在使用这些规则。 – anubhava

+1

我最终得到这个工作,出于某种原因,我必须摆脱/汽车销售/部分 RewriteRule ^([A-Z0-9] *)/([^ /] *) $ /car-details.php?id=$1&name=$2 [L] 我会将你标记为回答我,因为你是唯一能够帮助你的人。不管怎样,谢谢你 :) –