.htaccess向左拖动文本
所以问题是,当我只使用第一个参数时,页面就像一个符咒一样工作,但当我使用第二个参数时,我的CSS会变得混乱(文本对齐->左) dummy.com/mode.htaccess向左拖动文本,.htaccess,.htaccess,所以问题是,当我只使用第一个参数时,页面就像一个符咒一样工作,但当我使用第二个参数时,我的CSS会变得混乱(文本对齐->左) dummy.com/mode dummy.com/mode/ 工作 dummy.com/mode/user dummy.com/mode/user/ 将文本向左对齐 这是因为您对所有html链接(图像、javascript、css、href链接)使用的是相对路径而不是绝对路径 实际上,您的规则会创建虚拟目录。 这就是为什么我很惊讶dummy.com/mode/(带尾随斜杠
dummy.com/mode/
工作 dummy.com/mode/user
dummy.com/mode/user/
将文本向左对齐 这是因为您对所有html链接(图像、javascript、css、href链接)使用的是相对路径而不是绝对路径 实际上,您的规则会创建虚拟目录。
这就是为什么我很惊讶
dummy.com/mode/
(带尾随斜杠)也能工作
假设你有这样的css链接
<link rel="stylesheet" type="text/css" href="css/style.css">
或者,如果不想更改所有html链接,可以在
html标记后添加此行
<base href="/">
注意3:您应该避免在规则末尾使用/?
(这意味着/
是可选的),因为它会创建两个具有相同内容的不同URL(这称为重复内容,对搜索引擎不好)
做出选择:带或不带尾随斜杠,但不能两者兼有。我就是这样做的。基本上,当您提取资源的URL时,检查将执行空检查,结果为空 当我的样式url将我指向php处理程序页面时,我遇到了类似的问题,所以我假设这就是发生在您身上的情况
RewriteCond %{REQUEST_FILENAME} !-d # avoiding directory
#RewriteCond %{REQUEST_FILENAME} !-f # not checking if is a file, commented out
# must be located before all other rules
RewriteRule ^([.+/]*.*[.+].+)$ - [L] # file must be skipped
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?mode=$1&user=$2 [L]
RewriteRule ^([\w-]+)/?$ index.php?mode=$1 [L]
贾斯汀,你是金色的!写得好,易懂的帖子!
<base href="/">
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?mode=$1&user=$2 [L]
RewriteRule ^([\w-]+)/?$ index.php?mode=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d # avoiding directory
#RewriteCond %{REQUEST_FILENAME} !-f # not checking if is a file, commented out
# must be located before all other rules
RewriteRule ^([.+/]*.*[.+].+)$ - [L] # file must be skipped
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?mode=$1&user=$2 [L]
RewriteRule ^([\w-]+)/?$ index.php?mode=$1 [L]