Bol*_*las 2 php .htaccess mod-rewrite
这是我的.htaccess档案:
Options +FollowSymLinks
Options -Multiviews
RewriteEngine On
RewriteBase /website/
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [S=20]
RewriteRule ^(.*)$ $1.php
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)(/)?$ index.php?occ=$1&cat=$2
Run Code Online (Sandbox Code Playgroud)
现在这两行一起不起作用:
如果我要去contact.php,我会输入我的网址:localhost/website/contact,它会起作用
但是,如果我想通过在我的url:localhost/website/occasion/category中键入这个来访问location/website/index.php?occ = occasion&cat = category,它将仅在我删除第一个重写规则时有用
但是我不能再去localhost/website/contact了
我在这里想念的是什么?
您的问题是您的订单.
/website/occasion/category首先被重写为/website/occasion/category.php,然后无法匹配第二个规则.
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)(/)?$ index.php?occ=$1&cat=$2 [L]
RewriteRule ^(.*)$ $1.php
Run Code Online (Sandbox Code Playgroud)
更改顺序并将[L]参数添加到规则(成功执行后停止执行后续规则)应该可以解决问题.
| 归档时间: |
|
| 查看次数: |
5914 次 |
| 最近记录: |