使用RewriteRule使路径工作


Using RewriteRule to make paths work

我在Apache上运行一个网站。为了友好的url,我使用带有RewriteRule的.htaccess文件,看起来像这样:

RewriteRule ^news/([^/]+) /newsarticles.php?pagenumber=$1 [NC,L]

这使得链接/news/3指向http://example.org/newsarticles.php?pagenumber=3

但现在我有一个不同的语言路径,我怎么能使它的工作方式相同的路径使用一个单独的。htaccess文件位于该路径文件夹?

例如我想要/de/news/3指向http://example.org/de/newsarticles.php?pagenumber=3

我试了下面的方法,但是没有用

RewriteRule ^de/news/([^/]+) /de/newsarticles.php?pagenumber=$1 [NC,L]

您可以使用相同的htaccess文件。您不需要在该目录中显式地拥有一个。这样试试你的规则。

Options -MultiViews
RewriteEngine on
#ignore real files and directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^de/news/([^/]+)/? /de/newsarticles.php?pagenumber=$1 [NC,L]
RewriteRule ^news/([^/]+)/? /newsarticles.php?pagenumber=$1 [NC,L]