现在我的网址是
detail.php?category=abc&model=126
我想要这样
detail/abc-126.html
我正在使用此代码 但它运作不正常
的.htaccess
RewriteRule ^detail/([a-zA-Z0-9_-]+)/([0-9]+)\.html$ detail.php?category=$2&model=$2
我的第二个问题是 假设我在我的网站上使用这样的目录 foldername
www.example.com/foldername/detail/abc-126.html
和我的php文件在这个文件夹中
www.example.com/foldername/detail.php
和我的.htaccess文件
www.example.com/.htaccess
在这里
所以我如何使用foldername
这不是一个重复的帖子我搜索了很多网站,但我不明白如何解决这个
所以请帮我解决这个问题 感谢
答案 0 :(得分:1)
您有两个条件,并且您引用$2
两次而不是$1
& $2
。这是一个问题。这可能不会解决你的问题,因为我不是很擅长重写,但这只是一个开始。
你也想要abc-126.html
,但你在重写之间有正斜杠,如)/(
。
对于你的第二个问题,我不是100%肯定你在问什么,但是如果.htaccess
文件在父目录中,那么通过子目录可以感受到它的效果,除非你放了一个子目录中的新.htaccess
文件。
答案 1 :(得分:1)
您正在抓取两件事,$1
和$2
。当您创建应该重定向到的路径时,只使用$2
。您必须同时使用它们才能实现此目的:
.-------------------------------------.
.------------/------------------------------. \
|----- $1 -----| |- $2 -| \ \
RewriteRule ^detail/([a-zA-Z0-9_-]+)-([0-9]+)\.html$ detail.php?category=$1&model=$2