.htaccess on small catalog page


.htaccess on small catalog page

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"