这对我来说真的很令人沮丧,因为我一直试图让这个非常基本的htaccess重写工作数小时但却做不到.
我试过以下.
Options +FollowSymlinks
RewriteEngine On
RewriteBase /funshoppie/
############ Details page ################
RewriteCond %{THE_REQUEST} Deal\-details\.php\?title\=([A-Za-z0-9-]+)&id=(\d+) [NC]
RewriteRule ^%1%2? [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^Deals/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ Deal-details.php?title=$1&id=$2 [NC,QSA,L]
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我在做什么错?
我试图重写的网址
http://localhost/funshoppie/Deal-details.php?title=Styling%20Tools%20-%2020%%20off&id=7
Run Code Online (Sandbox Code Playgroud)
我成功后的愿望
http://localhost/funshoppie/Deals/Styling-Tools-20%-off/7
Run Code Online (Sandbox Code Playgroud)
我检查了错误日志,httpconf并确保取消注释rewrite_module.不知道什么导致了这个错误.
我现在不能尝试这个,但是,你的正则表达式不符合URL:
新政-details.php?标题=造型%20Tools%20-%2020 %% 20off&ID = 7
基于en和解码,这可能是以下两个字符串:
在任何情况下都不匹配您的表达式:
[..] Deal-details.php \?title\=([A-Za-z0-9 - ] +)&id =(\ d +) [..]
您缺少表达式中代表的字符,例如:
请尝试以下表达式:
Deal\-details\.php\?title\=(.+)&id=(\d+)
Run Code Online (Sandbox Code Playgroud)
这将匹配任何characterafter标题.否则我认为没问题.
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |