在mod_rewrite之后无法访问特定链接

时间:2016-01-19 11:56:09

标签: php apache mod-rewrite url-rewriting

您好我做了一些mod_rewrite,现在我在访问某些链接时遇到了一些问题。为了更好地理解我在这里过去了我的mod_rewrite和我想要访问的链接,我不能因为它将我重定向到我重写的那个。我想访问的链接是 agro.websoftit.ro/admin/app/add_categoie.php这是我的mod重写:
如何在不将我重定向到shop_det.php的情况下访问此链接?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.php$ /shop_det.php?category=$1&subcat=$2&produs=$3 [L]

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)\.php$ /produse.php?category=$1&subcat=$2 [L]

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^-]*)\.php$ /subcategories.php?category=$1 [L]


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)$ /template_static.php?page=$1 [L]

1 个答案:

答案 0 :(得分:2)

按顺序应用RewriteRules。因此,在过去,我排除特定网址的方法是在列表开头匹配该网址,并使用[L]标记停止处理该请求的更多规则。

例如:

RewriteEngine On
RewriteRule ^/admin/app/add_categoie.php - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.php$ /shop_det.php?category=$1&subcat=$2&produs=$3 [L]

此外,您无需继续打开RewriteEngine。可以在规则列表的顶部执行一次。