我有一个这样的网址:
page.com?c=example1&a=example2
但我想这样:
page.com/example1/example2
但是,如果用户page.com/public/...
没有做任何事情,因为我有目录public/css/smth.css
,而当我尝试访问它时,它会更改为类似page.com?c=public&a=css/smth.css...
的内容不是我想要的。
如何仅对不以public
开头的网址执行此操作?
我现在的.htaccess:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([^/]+)/([^/]+) index.php?c=$1&a=$2
答案 0 :(得分:3)
你的.htaccess文件需要看起来像这样:
# Follow symbolic links
Options +FollowSymlinks
# Turn on the rewrite engine
RewriteEngine On
# Set the general first level rewrites
RewriteRule ^(.+)/((?!public).*)/(.+)/?$ $1.php?c=$2&a=$3 [NC]
我没有测试过上述内容,但它应该沿着正确的方向进行测试
答案 1 :(得分:2)
希望这有帮助!
RewriteRule ^page.com/public/([a-zA-Z0-9-]*)/$ page.com?c=public&a=$1
RewriteRule ^page.com/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)/$ page.com?c=$1&a=$2
RewriteRule ^page.com/([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*)$ page.com?c=$1&a=$2