PHP二级域名伪静态是指将动态网页URL转换为看似静态的URL格式,以提高网站的可读性和搜索引擎优化(SEO)效果。二级域名是指在主域名下的子域名,例如 subdomain.example.com
。
.htaccess
文件:mod_rewrite
模块进行URL重写。rewrite
指令进行URL重写。适用于需要将动态内容通过静态URL展示的场景,例如博客、新闻网站等。
.htaccess
文件假设我们有一个二级域名 blog.example.com
,并且希望将 blog.example.com/article.php?id=123
重写为 blog.example.com/article/123
。
RewriteEngine On
RewriteBase /
# 重写规则
RewriteCond %{HTTP_HOST} ^blog\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/article/.*$
RewriteRule ^article/([0-9]+)/?$ article.php?id=$1 [L,QSA]
server {
listen 80;
server_name blog.example.com;
location / {
root /var/www/blog;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
# 重写规则
rewrite ^/article/([0-9]+)/?$ /article.php?id=$1 last;
}
原因:
mod_rewrite
模块未启用。.htaccess
文件权限问题。解决方法:
mod_rewrite
模块已启用:mod_rewrite
模块已启用:.htaccess
文件权限正确:.htaccess
文件权限正确:原因:
rewrite
指令位置错误。fastcgi_pass
配置错误。解决方法:
rewrite
指令在正确的location
块中。fastcgi_pass
配置正确:fastcgi_pass
配置正确:希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云