我想重写我的网址:
http://mysite.com/index.php?node=home&photoID=10
至:
http://mysite.com/home/10
目前,仅为
http://mysite.com/home
我用
RewriteRule ^([^/]*)$index.php/?node=$1 [L]
但是当我尝试使用时
RewriteRule ^([^/]*)/([^/]*)$index.php/?node=$1&id=$2 [L]
它似乎没有正确加载我的页面,页面没有样式或任何东西.
(另外,我的.htaccess文件的顶部有:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
如果我只是去mysite.com/home它显示404找不到.如果不总是有子页面,我该怎么做?
解决方法:
首先要让你的.htaccess规则如下:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
## If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f [OR]
## If the request is for a valid link
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/([^/]+)/?$index.php/?node=$1&id=$2 [L,QSA]
RewriteRule ^([^/]+)/?$index.php/?node=$1 [L,QSA]
然后确保在< head>之间的页面顶部添加此行.和< / head>:
标签:php,htaccess
来源: https://codeday.me/bug/20190630/1332027.html