小目录页面上的.htaccess

时间:2013-12-04 11:15:18

标签: php .htaccess

我建立小目录网页。所以我有一个问题。当我把这段代码放在.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

第一次做这样的事情所以我得到了一点帮助!如果不清楚问我会回答。

2 个答案:

答案 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]