I正在构建小型目录网页。所以我对此有意见。当我把这个代码放在.haccess 中时
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
第一次做这样的事情,所以我需要什么帮助!如果不清楚,问我,我会回答。
在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]
。将与/匹配,因此尝试用替换(.*)
([^/]*)
像这样:
RewriteRule ^katalog1/([^/]*)/([^/]*)$ /index.php?vrsta_seo=$1&podvrsta_seo=$2
这是我的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"