在我的一个网站上.htaccess正在处理链接,但是php文件没有检测到GET方法。
我的.htaccess
ErrorDocument 404 /404
ErrorDocument 500 /500
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^(resources)($|/) - [L]
RewriteRule ^user/([^/]*)$ /users.php?user=$1 [L]
RewriteRule ^dev/([^/]*)$ /dev.php?type=$1 [L]
RewriteRule ^users/([^/]*)$ /users.php?view=$1 [L]
RewriteRule ^users/edit/([^/]*)$ /users.php?view=edit&id=$1 [L]
RewriteRule ^settings/([^/]*)$ /settings.php?view=$1 [L]
RewriteRule ^groups/([^/]*)$ /groups.php?view=$1 [L]
RewriteRule ^groups/edit/([^/]*)$ /groups.php?view=edit&id=$1 [L]
RewriteRule ^groups/permissions/([^/]*)$ /groups.php?view=permissions.php&id=$1 [L]
RewriteRule ^page/([^/]*)$ /page.php?view=$1 [L]
这对我domain.com
有用,但不再对domain.com/subdir
有用
不仅如此,但是没有更好的方法来处理get请求重写,所以我不必为每个使用GET请求执行操作的php文件添加规则吗?
提前谢谢。
答案 0 :(得分:1)
尝试这样,
RewriteEngine on
#if you want it to use for sub dir
RewriteBase /subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#below for url which only have view as parameter
RewriteRule ^([\w]+)/([\w]+)$ $1.php?view=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user/([^/]*)$ users.php?user=$1
RewriteRule ^dev/([^/]*)$ dev.php?type=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/edit/([^/]*)$ /$1.php?view=edit&id=$2 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^groups/permissions/([^/]*)$ /groups.php?view=permissions.php&id=$1 [QSA,L]
答案 1 :(得分:1)
您需要关闭$('#slider').nivoSlider({effect:'fade'})
选项,您还可以将一些类似的规则合并为一个:
MultiViews
答案 2 :(得分:0)
也许你应该把这个文件复制到domain.com/subdir
,但这不是那么好,你应该想到使用像symfony这样的php mvc框架,它会顺利解决你的问题,普通的php很难扩展。< / p>