我建立小目录网页。所以我有一个问题。当我把这段代码放在.htacess
中时RewriteRule ^katalog$ /katalog.php
RewriteRule ^katalog/(.*)$ /vrsta.php?vrsta_seo=$1
RewriteRule ^katalog1/(.*)/(.*)$ /podvrsta.php?vrsta_seo=$1&podvrsta_seo=$2
RewriteRule ^katalog2/(.*)/(.*)/(.*)/(.*)$ /proizvod.php?vrsta_seo=$1&podvrsta_seo=$2&katalog_id=$3&katalog_seo=$4
我的目录工作得很好,包含这些数字看起来并不好看。但如果我走这条路,它就无法工作。
RewriteRule ^katalog$ /katalog.php
RewriteRule ^katalog/(.*)$ /vrsta.php?vrsta_seo=$1
RewriteRule ^katalog/(.*)/(.*)$ /podvrsta.php?vrsta_seo=$1&podvrsta_seo=$2
RewriteRule ^katalog/(.*)/(.*)/(.*)/(.*)$ /proizvod.php?vrsta_seo=$1&podvrsta_seo=$2&katalog_id=$3&katalog_seo=$4
我希望得到类似的东西
http://www.500maniac.com/katalog/vocne-sadnice/smokva/76/petrovaca-bijela
不是这个
http://www.500maniac.com/katalog2/vocne-sadnice/smokva/76/petrovaca-bijela
第一次做这样的事情所以我得到了一点帮助!如果不清楚问我会回答。
答案 0 :(得分:0)
。将与/匹配,因此请尝试使用
替换(。*)([^/]*)
像这样:
RewriteRule ^katalog1/([^/]*)/([^/]*)$ /index.php?vrsta_seo=$1&podvrsta_seo=$2
这是.my htaccess
RewriteRule ^katalog/([^/]*)$ /index.php?vrsta_seo=$1
RewriteRule ^katalog/([^/]*)/([^/]*)$ /index.php?vrsta_seo=$1&podvrsta_seo=$2
并在index.php中
var_dump($_SERVER['QUERY_STRING']);
如果访问http://localhost.com/katalog/ccccc/zzzzz,则输出为:
string(34) "vrsta_seo=ccccc&podvrsta_seo=zzzzz"
答案 1 :(得分:0)
在DOCUMENT_ROOT/.htaccess
文件中列出这样的规则:
RewriteEngine On
RewriteRule ^(katalog1|katalog2)$ /katalog [L]
RewriteRule ^katalog$ /katalog.php [L]
RewriteRule ^katalog/(.*)$ /vrsta.php?vrsta_seo=$1 [L]
RewriteRule ^katalog/(.*)/(.*)$ /podvrsta.php?vrsta_seo=$1&podvrsta_seo=$2 [L]
RewriteRule ^katalog/(.*)/(.*)/(.*)/(.*)$ /proizvod.php?vrsta_seo=$1&podvrsta_seo=$2&katalog_id=$3&katalog_seo=$4 [L]