我正在使用PHP开发Web应用程序 我想要干净的URL,所以我为它写了一个.htaccess文件。一切都很好,但仅限1条规则 请看下面的代码:
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rule No.1
RewriteRule ^(.*)/(.*)/(.*)/?$ index.php?page=$1&id=$2 [NC,N]
# Rule No.2
RewriteRule ^(.*)/?$ index.php?page=$1 [NC,L]
这是我的.htaccess文件内容
如果我删除规则No.1,页面类似www.site.com/news
,那么一切正常。但是当我想导航到页面www.site.com/news/1/sample-text
时,所有CSS,JavaScript和图像文件都将被破坏(我再也无法访问它们了。)
虽然我在.htaccess文件中编写了规则2,但是任何东西都没有用,问题就在于钢铁。
所有图片,css和javascript路径都与./js/jquery.js
格式类似
另外,我将RewriteBase /
放在.htaccess文件中。但是...... :(
请帮帮我。
答案 0 :(得分:0)
如果它们是这样的话规则会更好:
# Rule No.1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)/?$ index.php?page=$1&id=$2 [L]
# Rule No.2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?page=$1 [L]
=>你需要在这里重复RewriteCond行:它们只适用于后面的RewriteRule。
注意: