我很抱歉再次提出这个问题,但我无法在不收到404网页错误的情况下使用我的网址。
public_html
.htaccess
webroot+
index.php
article.php
我正在使用htaccess将webroot文件夹设为主文档根目录(我无法访问虚拟主机)
RewriteCond %{HTTP_HOST} ^site.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !webroot/
RewriteRule (.*) /webroot/$1 [L]
我不确定问题是否是由于上面的代码引起的,但是当我尝试将我的网址清理为seo时,我得到了404页。
我正在尝试更改www.site.com/article.php?article_uid=number&article_title=title
---> www.site.com/article/id/title/
使用以下代码,它允许页面更改网址,但它给我找不到404。
RewriteCond %{THE_REQUEST} \ /article\.php\?article_uid=([^&]+)&article_title=([^&\ ]+)
RewriteRule ^ /article/%1/%2/? [L,R=301,NE]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^article/([^/]+)/([^/]+)/?$ /article.php?article_uid=$1&article_title=$2 [L,QSA]
离。
在此服务器上找不到请求的网址/ webroot / article / id / title /。
答案 0 :(得分:1)
将最后一条规则更改为:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (?:^|/)article/([^/]+)/([^/]+)/?$ webroot/article.php?article_uid=$1&article_title=$2 [L,QSA]